Project Scheduling with Time Windows and Scarce Resources: Temporal and Resource-Constrained Project Scheduling with Regular and Nonregular Objective Functions
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Pro'ect Scheduling with Time Windows an Scarce Resources
d
Springer Berlin Heidelberg New York Hong Kong London Milan Paris Tokyo
Klaus Neumann Christoph Schwindt Jiirgen Zimmermann
Project Scheduling with Time Windows and Scarce Resources Temporal and Resource-Constrained Project Scheduling with Regular and Nonregular Objective Functions
Second Edition with 120 Figures and 60 Tables
Springer
Professor Dr. Klaus Neumann Dr. Christoph Schwjndt Institute for Economic Theory and Operations Research University of Karlsruhe Kaiserstrage 12 76128 Karlsruhe, Germany Professor Dr. Jiirgen Z i m e r m a n n Institute for Business Administration and Operations Research Technical University of Clausthal Julius-Albert-Strai3e2 38678 Clausthal-Zellerfeld,Germany
ISBN 3-540-40125-3 Springer-Verlag Berlin Heidelberg NewYork Cataloging-in-PublicationData applied for A catalog record for this book is available from the Library of Congress.
Bibliographicinformation published by Die Deutsche Bibliothek Die Deutsche Bibliothek lists this publication in the Deutsche Natinnalbibliografie; detailed bibliographic data available in the internet at http.//dnb.ddb.de This work is subject to copyright. AU 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 m i c r o f h or in any other way, and storage in data banks.Duplication 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.Violationsare liable for prosecution under the German Copyright Law. Springer-Verlag Berlin Heidelberg NewYork a member of BertelsmannSpringerScience + Business Media GmbH http:llmnv.springer.de O Springer-Verlag Berlin Heidelberg 2003 Printed in Germany The use of general descriptive names, registered names, trademarks, etc. in this publication does not imolv. . ,.even in the absence of a soecific statement. that such names are exemnt from the relevant protective laws and regulations and therefore free for general use. Cover design: Ericb Kirchner,Heidelberg SPIN 10930847 42/3130 - 5 4 3 2 1 0 P r i n t e d on add-free paper
Preface to the Second Edition We are pleased with the response given to the first edition of our book by our colleagues and students, which makes a second edition necessary only just a year after publishing the first. Obviously, this is due to the distinguishing feature of the first edition, namely 1. considering general temporal constraints (arising from minimum and maximum time lags between project xtivities) and several different types of scarce resources for project scheduling, 2. studying a large variety of time-based, financial, and resourcebased objectives important in practice, 3. performing a thorough structural analysis of the feasible region of the project scheduling problems in question as well as a classification and detailed investigation of objective functions, which can be exploited for developing efficient exact and heuristic solution methods, and 4. discussing new interesting applications of resource-constrained project scheduling t o production and operations management.
Most of the new material in this edition is related t o applications of resource-constrained project scheduling. Aside from corrections of several errors and some minor improvements and supplements, we have particularly included 1. applications to investment projects and hierarchical planning, 2. two additional types of resources: (i) continuous cumulative resources, i.e. storage facilities that are replenished and depleted at finite rates and are found in process industries with continuous material flow, and (ii) synchronizing resources, e.g. units in metal casting industry' that process several operations in parallel, 3. the total changeover cost or time as an additional type of objective function important to process industries,
4. a subsection on the so-called batching problem, that is, the determination of the number and sizes of batches, which is vital t o batch production in process industries, and 5 . new results on how to find lower bounds on the minimum value of regular and nonregular objective functions, which is important to both the construction of efficient (truncated) branch-and-bound methods and an experimental performance analysis of heuristic solution procedures. Karlsruhe January 2003
Klaus Neumann Christoph Schwindt Jiirgen Zimmermann
Preface to the First Edition A project is a unique undertaking or endeavor t o be accomplished that can be divided into individual subtasks or activities each of which requires time and scarce resources for its completion. Also there is a desired objective to be attained (for example, minimization of project duration or of variation of resource utilization, or maximization of net present value of the project). Moreover, there are given precedence relationships among activities prescribing the order in which activities must be carried out. Project scheduling, in its basic form, consists of finding start times for all activities such that prescribed resource and precedence constraints are satisfied and an objective function is optimized. Since the concept of a project can be interpreted quite broadly, project scheduling problems arise in a great variety of practical situations. These include construction work, the development and introduction of new products, service systems, or software packages, strategic long-term planning in manufacturing and the service sector, emergency planning, and even the conducting of political campaigns. Recently, project scheduling has been successfully applied to production and operations management, e.g. make-teorder production in manufacturing and batch production in process industries. Since the late 1950'9, network-based planning methods for project scheduling problems have been developed, cf. Elmaghraby (1977) and Moder et al. (1983). Many solution methods, however, pertain only to temporal project scheduling, that is, they do not allow for the limited availability of resources in practice. Efficient procedures for solving large resource-constrained project scheduling problems have been proposed only recently. This monograph grew out of two courses on project scheduling given by one of the authors at the University of Karlsruhe, Germany, in recent years. It reports on the state of the art of deterministic resource-constrained project scheduling with time windows. Most results appearing here are published in book form for the first time. The following features differentiate this monograph from other texts on project scheduling published recently (for example, Kolisch, 1995, Hartmann, 1999, Wgglarz, 1999, or Klein, 2000): 1. In addition to minimum time lags between project activities (which are a generalization of precedence relationships), maximum time lags are considered from the beginning. In other words, (schedule-dependent) time windows for activities are given. We model projects with minimum and maximum time lags by (cyclic) activity-on-node networks. Maximum time lags have been discussed in the literature only rarely. However, they are needed for modelling a variety of practical requirements. These include deadlines for subprojects or individual activities, simultaneous or non-delay execution of several activities, prescribed time windows for resources, and the processing of perishable chemical substances within prescribed time intervals.
2. In addition to the minimization of project duration, also known as makespan, many other objective functions that are important in practice are studied. Most of the objective functions are nonregular, i.e. not increasing in the start times of activities. For instance, we discuss maximizing the net present value of the project or minimizing: the earliness plus tardiness cost of activities with prescribed due dates, the cost of resources purchased or rented, or the variation of resource utilization over time. Exact algorithms and different types of heuristic solution methods are proposed, which can solve large problem instances.
3. An order-based structural analysis of the feasible region of the scheduling problems considered turns out to be very useful for studying diiferent kinds of schedules. We also classify regular and nonregular ohjective functions and develop efficient schedule generation schemes for project scheduling problems with different types of objective functions exploiting the structural analysis of the feasible region.
4. Some interesting- applications of resource-constrained .project schedul. -ing to production and operations management, in particular, to maketoorder and batch production, are investigated. To aid in modellingand solving such problems, we discuss renewable resources (such as machines, manpower, or equipment), nonrenewable resources (e.g. capital or energy), and so-called cumulative resources (storage facilities) as well as multi-mode project scheduling and the case of calendarization, that is, the existence of specific time intervals, like weekends or holidays, where certain resources are not available. The contents of this book are as follows: In Chapter 1, we introduce some basic concepts (for example, minimum and maximum time lags and activity-on-node project networks) and deal with temporal project scheduling. Chapter 2 is devoted to resource-constrained project scheduling with minimization of project duration and other regular objective functions. After discussing the structure of the feasible region and different sets of schedules, a branch-and-bound algorithm and several heuristic solution procedures, as well as an experimental performance analysis, are presented. Also, applications to production and operations management and special features needed for such applications (e.g. cumulative resources, sequence-dependent changeover times, calendarization, and multi-mode project scheduling) are studied. Chapter 3 is concerned with resource-constrained project scheduling with nonregular objective functions. A classification of objective functions is proposed, and we discuss which types of schedules (and the corresponding special points of the feasible region) may represent possible optimal solutions to project scheduling problems with different nonregular objective functions. After that, exact and heuristic procedures for solving such project scheduling problems are proposed and an experimental performance analysis is presented.
This monograph assumes a knowledge of elementary mathematical programming and some basic concepts from the theory of graphs and networks. Most of these concepts are alluded to before they are used, which makes the book self-contained. The monograph contains much research that was supported, in part, by the Deutsche Forschungsgemeinschaft. Company SAP AG was gracious to provide support for the research on batch scheduling in process industries. We would also l i e to thank our colleagues at Karlsruhe: Iris Lechleiter, Thomas Hartung, Roland Heilmann, Thomas Selle, and Norbert Trautmann, who read the manuscript and suggested valuable improvements. In addition, we like to acknowledge the advice and support of Sigrid Knust, Peter Brucker, Bajis Dodin, Ulrich Dorndorf, Andreas Drexl, Salah E. Elmaghraby, Rolf Mohring, Erwin Pesch, Siegfried Schaible, Frederik Stork, and Marc Uetz.
Lernbach/Alsace May 2001
Klaus Neumann Christoph Schwindt Jiirgen Zimmermann
Contents 1 Temporal P r o j e c t Scheduling 1.1 Minimum and maximum time lags . . . . . 1.2 Activity-on-node project networks . . . . 1.3 Temporal project scheduling computations 1.4 Orders in the set of activities . . . . . . .
Chapter 1 Temporal Project Scheduling In this chapter, we deal with temporal aspects of project scheduling. That is, we observe that the activities of the project under consideration require time for their completion and that there are generally time windows between activities. However, we do not take into account that in general resources are needed and possibly costs are incurred during the execution of project activities. First, we discuss minimum and maximum time lags between project activities, which result from technological or organizational constraints in practice and form the temporal constraints of the project. Second, we show how to assign an activity-on-node network to the project, where the temporal constraints have to be taken into consideration. Third, we deal with temporal project scheduling, which consists of finding the shortest project duration, the start and completion times and swcalled float or slack times of all activities, and the critical activities of the project. Temporal project scheduling based on activity-on-node networks corresponds to the Metra Potential Method proposed by Roy (1964), which is also termed Precedence Diagramming in the USA, where only minimum time lags are considered (cf. Elmaghraby, 1977, Ch. 1, and Moder et al., 1983, Ch. 4). Finally, we briefly discuss strict orders in the set of activities, which will be needed for solution procedures for resource-constrained project scheduling treated later on.
1.1
Minimum and maximum time lags
>
We assume that the project in question consists of n 1 real activities 1,. . . ,n, where each activity is to be carried out without interruption. In addition, we introduce the fictitious activities 0 and n 1, which represent the beginning and completion of the project, respectively. Let pi be the given duration or processing time of activity i, where po = p,+l = 0 and pi E N for a real xtivity i. Moreover, let Si2 0 be the start time of activity i, where So := 0 , i.e., the underlying project begins at time ,1 equals the project duration. zero. Then S+
+
2
Ch. 1. Temporal Project Scheduling
We generally use the start-to-start relationship among activities. A given E Z>obetween the start of two different activities i and j says that
minimum time lag
s, - s, 2 dmin 23
That is, activity j cannot be begun earlier than start of activity i (see Fig. 1.1.1).
y
(1.1.1) time units after the
Figure 1.1.1: Minimum time lag
If activity j can be begun as soon as activity i has been completed, i.e., = pi, inequality (1.1.1) represents a precedence constraint. If activity j can be started before the termination of activity i, that is, activities i and j may overlap, we have y
y.
Definition 1.1.1 says that if there is no real activity h which has to be started earlier than real activity i, then activity i is initial. Similarly, if there is no real activity j which has to be started later than real activity i , then activity i is terminal. To ensure that activities 0 and n I really represent the beginning and termination of the project in question, we establish the following conventions.
+
(1.1.2) Remarks. (a) For each initial activity i of the project, a minimum time lag 2 0 is assumed to be given (see Fig. 1.1.2). If initial activity i can be started a t the beginning of the project, then = 0. (b) For each terminal activity i of the project, a minimum time lag q$,2 pi is assumed to be given. That is, activity i has to be completed a period of time Ti;, - p, 2 0 before the termination of the project at the latest (cf. Fig. 1.1.3). If terminal activity i only needs to be completed by the termination of the project, then Ti;, = p i .
1 .I. Minimum and maximum time Jags
3
( c ) Let activity i be non-terminal. If for each real activity j with minimum it holds that time lag + p i < pi, then a minimum t i e lag := pi"has to be introduced (see Fig. 1.1.4). The latter requirement ensures that activity i will be completed up t o the termination of the project.
q$,
Project beginning
c,
I
Project termination
Activity i
Figure 1.1.2: Minimum time lag between project beginning and initial activity
Figure 1.1.3: Minimum time lag between terminal activity and project termination
Activity i +
.
k>dzin
1
0
Pi
.I
.:
Project termination
'.
P
j
y
I
"
2 dT27, = p;
Figure 1.1.4: Minimum time lag between non-terminal activity and project termination The two special minimum time lags illustrated in Figs. 1.1.2 and 1.1.3 do not only occur for initial or terminal activities. Sometimes a release date or ready time ri E Z>ois prescribed for activity i , which need not be initial. That is, activity i i s available for performing at time ri. Then a minimum time lag := ri is given: Si - So 2 If activity i , which need not be terminal, has to be completed a prescribed peviod of time q, E ZZobefore the termination of the project at the latest, then Czl:= qi +pi represents a minimum time lag: - Si 2 TZ,. Now we turn t o maximum time lags. A given maximum time lag E Z>O - between the start of two different activities i and j says that
e.
That is, activity j cannot be begun later than
of activity i (see Fig. 1.1.5).
time units after the start
Ch. 1 . Temporal Project Scheduling
Activity j
Figure 1.1.5: Maximum time lag (1.1.3) Remarks. (a) The assumption that the durations pi and the minimum and maximum and dE;""" are t o be integers is generally satisfied in practime lags tice, where time is usually measured in minutes, hours, days, or the like. All following considerations, however, can be adapted t o the case that the above input data are real numbers instead of integers without difficulty. (b) The assumption that minimum and maximum time lags are to be nonnegative does not mean any loss of generality. Suppose that there is a < 0 between the start of two activities i and j. minimum time lag If we put := > 0, it follows from (1.1.1)that
c
v -v
This means that we have a positive maximum time lag between the start of activities j and i (compare (1.1.2)). Similarly, negative maximum time lags can be replaced by positive minimum time lags. ( c ) Suppose that a minimum time lag and a maximum time lag 2 between the start of two different activities i and j are prescribed. Then the t i m e window [Si T , S, of length 20 for the start of activity j after the beginning of activity i at time Siis given. (d) Suppose that for two different activities i and j , it holds that Sj-Si 2 0 and thus Si- Sj5 0, that is, activity i cannot be begun after (but can be begun at the same time as) activity j. Then either a minimum time := 0 is assumed to be given. := 0 or a maximum t i e lag lag ( e ) If several activities have to be begun at the same point in time, say, m activities il, i2,. . . i, where il < i2 < . . . < i,-, < i, (i.e., it = Si,), then m - 1 minimum must hold that Si,= Si, = . . . = si,,-, := 0 and one maximum time lag time lags (Ir:;: := . . . := , 0 are assumed to be given.
+
+v ]
cp'=
We consider two particular maximum time lags. Sometimes deadlines are prescribed for some activities. Let ;i, E N with 4 2 pi be a given deadline for activity i, that is, activity i has to be completed by time d i . In other words, activity i has to be begun a period of time := Zi -pi after the beginning of the project at the latest (see Fig. 1.1.6). If activity i can be
1. I . Minimum and maximum time lags
5
begun a prescribed period of time si E PI with s, 2 pi before the termination := si of the project at the earliest, then there is a maximum time lag (compare Fig. 1.1.7).
q,"tl
m
Project beginning
Activity d
5Gaz
.;+
0
pi --,
l. t
5 zi
Figure 1.1.6: Maximum time lag between project beginning and real activity
I
I
*
Project termination
,
0
Figure 1.1.7: Maximum time lag between real activity and project termination
(1.1.4) Remarks. Some temporal constraints which occur in practice frequently can be expressed in terms of minimum and maximum time lags, for example: (a) Activities i and j have to be carried out one after another without any delay in between, i.e., Sj - Si=pi. This constraint can be ensured by : = p i and := introducing minimum and maximum time lags pi. Recall that if two different activities i and j have t o be begun a t the same point in time, we set rtl;"n := dEjCQZ := 0 (cf. Remark 1.1.3e). (b) If activity i has t o be begun at point in time ti E ZZoexactly, we intro:= := ti. duce minimum and maximum time lags such that Similarly, we deal with the case where an activity has t o be terminated precisely a t a certain point in time. (c) If activity i has to be begun at time tl E Z>oa t the earliest and at time t: E ZZoat the latest, we introduce minimum and maximum time lags := ti and := tl, respectively (time window for the start of activity i, compare Remark 1.1.3~).Similarly, we deal with the case where there is a prescribed time window for the completion of an activity.
Since the minimum and maximum time lags just introduced connect the start times of two different activities, they are also called stad-to-start time lags. In a similar manner, we may introduce completion-to-completion, start-to-completion, and compbtion-to-start time lags, where "finish" instead of "completion" is sometimes used in literature. Those four different time lags can easily be converted into one another. As an example, we consider the conversion of completion-to-start time lags into start-to-start time lags and vice versa. Let and ij (instead of and as above) be the minimum and maximum start-testart time lags, respectively, and let O S V and be the minimum and maximum completion-to-start time lags,
CSv
6
Ch. I . Temporal Project Scheduling
respectively. Moreover, let Ci:= Si+pi be the completion time of activity i. Then it holds that C S p n t3
5 Si- Ci 5
C
S
y
Comparing this inequality with
(cf. (1.1.1) and (1.1.2)) provides
(see Fig. 1.1.8).
Figure 1.1.8: Start-to-start and completion-to-start time lags
As we will see in Section 1.2, start-to-start time lags correspond to arc weights in the so-called project network, and we can easily conclude from the sign of an arc weight whether the corresponding time lag is minimum or maximum: positive arc weights represent minimum time lags and negative arc weights represent maximum ones. The latter is not necessarily true if we use completion-to-completion, start-to-completion, or completion-tostart time lags instead of start-to-start times lags. For this reason, we only employ start-to-start time lags in what follows and omit the specification start-to-start.
1.2
Activity-on-node project networks
In this section, we show how to construct an activity-on-node network or briefly A o N network for a project given by its activities and minimum and maximum time lags between (the start of) different activities. Moreover, we discuss some properties of AoN networks. The activities 0,1,. . ., n 1 are assigned to and identified with the nodes 0,1,. . . , n + l of anetwork. Thus, V := (0, I , . . . , n + l ) is the set of activities and, at the same time, the node set of the AoN network or project network N to be constructed.
+
7
1.2. ActMty-on-node project networks
r
If for two different activities i and j, a minimum time lag between the start of i and j is given, we introduce an arc (a, j) with weight bij := In case there is more than one minimum time lag say two minimum time lags I r and 2d""n, we introduce only one arc (i,j) whose weight bii is the largest of the minimum time lags: dij = m a x ( ' c , 'Pin). If there is '? a prescribed maximum time lag qu between the start of activities i and j, we introduce a backward arc (j,i)with weight ciji = In case there is more than one maximum time lag y,we introduce only one arc (j,i) whose weight d,, is the negative of the smallest of those maximum time lags. For example, if there are two maximum time lags and then 6ji = - m i n ( ' y ? v ) . Fig. 1.2.1 depicts minimum and maximum time lags in a network, where nodes are represented by boxes as usual.
,,
v,
e.
-c. 'v 'v,
Figure 1.2.1: Representation of minimum and maximum time lags Let E be the arc set of the resulting AoN network. The inequalities (1.1.1) and (1.1.2) can then be summarized as
and are called temporal constraints. (1.2.1) Remark. The nonnegative start times Si (i E V ) can be regarded as node weights of the AoN network. A mapping S : V + that satisfies the temporal constraints (1.2.1) is also called a potential on the network (cf. Roy, 1964, Neumann, 1975, Sect. 6.4, and Neumann, 1987, Sect. 7.4). This concept has led to the name Metra Potential Method (abbreviated as M P M ) for the procedure which provides the temporal project scheduling based on AoN networks.
We state some properties of an AoN network. By the above construction and observing Remark 1.1.3e, the AoN network assigned to a project is uniquely determined and does not contain parallel arcs. As a rule, there are positive arc weights (corresponding to minimum time lags), negative arc weights (corresponding to maximum time lags), and zero arc weights (corresponding to minimum or maximum time lags) in an AoN network. Note that the arc weights b,j in the AoN network correspond to arbitrary integral minimum time lags between the start of activities i and j, which may be positive, negative, or zero.
8
Ch. I . Temporal Project Scheduling
An AoN network generally contains cycles. At least one arc in each cycle corresponds t o a maximum time lag, however, there may also be arcs outside any cycle corresponding to maximum time lags. A path of length e from node i t o node j in an AoN network induces a minimum time lag := e if l! > 0 and a maximum time lag ..- -Iif P < 0. In case that = 0, either a minimum time lag := 0 or a maximum := 0 is induced. Fig. 1.2.2 depicts a path from node i t o node time lag j of length 2, which induces a minimum time lag = 2 between the start of activities i and j.
c
!.
y y
Figure 1.2.2: Path of length 2 Two paths from i to j and from j to i with lengths and &, respectively, form a cycle of length el e2. Fig. 1.2.3 illustrates a cycle of length -1. Obviously, cycles of positive length do not make any sense. A cycle of length !> 0 would mean that Si 2 Si e for each activity i of the cycle, that is, activity i can be begun a period of time l! > 0 after its start a t the earliest. Fig. 1.2.4 shows a so-called null cycle, i.e. a cycle all of its arcs have weight zero. This means that all of its activities h, i, and j have to be begun at the same point in time. By Remark 1.1.3e it then holds that = q3"= 0 provided that h < i < j . d;:,i" =
+
+
Figure 1.2.3: Cycle of length -1
Figure 1.2.4: Null cycle
From Definition 1.1.1 and Remarks 1.1.2 it follows that for each node i of an AoN network, there are a path from node 0 to node i of nonnegative length and a path from node i to node n + 1 whose length is at least pi.
(1.2.2) Example. We illustrate the construction of an AoN network by considering the following project with five real activities. Activities 1 and 3 can start at the beginning of the project. For activity 5, a release date of eight units of time is given. Activity 2 must wait until activity 1 has been carried out for at least one unit of time and must be started three units of time after the beginning of activity 1 at the latest. Activities 4 and 5 cannot be begun before the completion of activity 3. Activity 4 must be in execution two units of time after the completion of activity 3, and activity 5 must be in execution one
1.3. Temporal project scheduling computations
9
unit of time after the completion of activity 4. Activity 3 has t o be begun one unit of time after the project beginning at the latest. In Table 1.2.1 the durations of the five real activities and the prescribed minimum and maximum time lags are listed. The AoN network N corresponding to the project is depicted in Fig. 1.2.5. The initial activities a = 1 and 3 are connected with fictitious activity 0 by arcs (0,i) with weights 60, = 0 (see Remark 1.1.2a). The terminal activities j = 2, 4, and 5 are connected with fictitious activity 6 by arcs (j,6) with weights ~ 5 , = ~ pi (Remark 1.1.2b). Moreover, by Remark 1 . 1 . 2 ~ we have to introduce the minimum time lag @" = pl = 6 and corresponding arc (1,6) with weight = 6, which is indicated by the dashed-line arrow in Fig. 1.2.5.
Table 1.2.1: Durations and time lags of the activities of Example 1.2.2 j
1 2 3 4 5
p, 6 4 2 4 2
with
cor -
-
-
1 0 3 0,3, 4
1 2
3 1 4
8, 2, -
-, -, 5
-
Figure 1.2.5: AoN network of Example 1.2.2
1.3
Temporal project scheduling computations
Since the temporal project scheduling computations based on AoN networks are well-known from literature (see e.g. Lawler, 1976, Sect. 3.2, or Neumann and Morlock, 2002, Sect. 2.5), we only sketch the basic concepts and main results briefly.
10
Ch. 1. Temporal Project Scheduling
(1.3.1) Definition. A sequence of start times S = ( S o ,S1,. . . , for the activities or nodes i E V = { 0 , 1 , .. . , n+ 1 ) of the project or the respective AoN network, where Si 2 0 (i E V ) and So = 0, is called a schedule. A schedule is said t o be time-feasible if it satisfies the temporal constraints (1.2:l). The set of timefeasible schedules is denoted by ST. A schedule S E ST that minimizes the project duration is called time-optimal.
A time-feasible schedule for a project represents a potential on the corresponding AoN network (cf. Remark 1.2.1). The problem of finding a timeoptimal schedule can be formulated as a linear program: Minimize S,+l subject t o S, - Si S, 2 0
>
&j
so = 0
( ( i ,j ) E E ) (i E V )
I
We will refer t o problem (1.3.1) as the time-constrained project scheduling problem. The feasible region ST of this problem represents a convex polyhedron. For all i > 0, inequality Si 0 is already implied by So 2 0 and the assumption of Remark 1.1.2a. Even if So= 0 were not required for a schedule S = (Si)iEV,for each time-optimal schedule S it would hold that So = 0. As already noticed in Section 1.1, time is often regarded as a discrete quantity in practice (cf. Remark 1.1.3a). In that case, we identify each point in time t E Z>o with the half-open time interval [t,t 1[, which corresponds t o time period t 1. Then in problem (1.3.1), we have t o replace Si 2 0 by Si E Z z 0 , and the linear programming problem of finding a time-optimal schedule turns into an integer linear program.
>
+
+
(1.3.2) Remark. Since the given activity durations and minimum and maximum time lags are integers and so are all arc weights bij ((i,j ) E E ) , there always exists an integer-valued time-optimal schedule S , i.e. an integral optimal solution t o problem (1.3.1), provided that ST # 0. In that case, schedule S solves 0 (i E V ) are problem (1.3.1) even if the nonnegativity constraints Si replaced by the integrality condition for start times S, E Z20 (i E V ) .
>
A necessary and sufficient condition for
ST # 0 is given by the following
(1.3.3) Theorem. There is a time-feasible schedule for a project if and only if the correspondiig AoN network N does not contain any cycle of positive length.
A proof of Theorem 1.3.3 can be found in Neumann (1975, Sect. 6.4) and Bartusch et al. (1988). Notice that we have already verified in Section 1.2 that a cycle of positive length means a violation of the temporal constraints
1.3. Temporal project scheduling computations
11
(1.2.1), that is, the existence of a timefeasible schedule excludes cycles of positive length. In what follows we will always assume that the AoN network in question does not contain cycles of positive length. As it is common practice in literature, the term temporal project scheduling comprises finding the earliest and latest start and completion times of the activities, the shortest project duration, the critical activities, and the float or slack times of the activities. Let ESi and LS, be the earliest and latest start time, respectively, and EC, and LC, be the earliest and latest completion time, respectively, of activity i E V. E S = ( E S o E , S l ,. . . , ESn+1) is called the earliest schedule, i.e. a schedule E S E ST with ES; 5 Si (i E V ) for all S E ST.Of course, ESo = 0 and ESn+l equals the shortest project duration. In practice, an integral maximum project duration 2 ESn+l which must not be exceeded is often prescribed. Then
>
LS,+l
:=
if maximum project duration
ES,+l, otherwise
>
is prescribed
(1.3.2)
>
and LS E ST with LSn+l LS, St (a E V) for all S E ST is the latest schedule. Note that both the earliest and the latest schedule are integervalued. For temporal project scheduling, we consider the temporal scheduling network N+ that results from project network N by adding the backward arc (n+ 1,O) with weight 6n+l,o= -LSn+l. Arc (n+ 1,O) accounts for the maximum time lag = LS,+, between the project beginning 0 at tiine zero and the project completion n 1, which is implicitly given by the maximum project duration LSn+l. E+ = E U { ( n 1,O)) is the arc set of network N+. By dj we denote the longest path length or distance from node i to node j in temporal scheduling network N+, where dij = 0 for i = j. The distances dij (i, j E V) are the smallest values satisfying
+
+
and the triangle inequality
If node j is reachable from node i in network N, then dij equals the longest path length from i to j in N as well. If dij > 0, there is a (possibly induced) minimum time lag of dij between the start of activities i and j , and if dij < 0, there is a (possibly induced) maximum time lag of -dij between the start of activities j and i. Recall that due to Remarks 1.1.2, there is a path from node 0 to node i and from node i to node n I for all nodes i 6 V. Accordingly, in network N+ any two different nodes i, j E V are linked by a path from i to j. Since we assume that project network N (and thus temporal
+
12
Ch. 1. Temporal Project Scheduling
scheduling network N+) does not contain any cycle of positive length, we have d, 5 LSn+l for all i, j E V. Obviously, the earliest schedule E S is the (unique) optimal solution t o the following minimization problem:
x
n+l
Si r=O subject t o S j - S, So = 0 Minimize
> dij
( ( i , j ) E E+)
1
(1.3.4)
The constraints S, 2 0 (i E V) have been deleted because they are satisfied automatically (cf. Remark 1.1.2a). Similarly, the latest schedule LS is the optimal solution to the maximization problem
It seems t o be clear that earliest start time ESi, i.e. the minimum time lag between project beginning and the start of activity i, equals the length & of a longest path from node 0 t o node i E V in the underlying temporal scheduling network N+. The reason is that the longest paths from 0 to i contain all time lags that have to be observed for starting activity i (and in particular all activities whose completion is required). Analogously, it holds that latest start time LS,, i.e. the maximum time lag between project beginning and the start of activity i, is equal to -ato, i.e. the negative of the longest path length die from node i t o node 0. In addition to the latter verification, we show that the dual problem of the following slight modification of (1.3.4) is a longest-path problem: n+l
Minimize
Si - (n + l)Sa
i=l
subject t o S j - Sa
> bii
(1.3.6)
( ( i , j ) E E+)
In comparison with (1.3.4), we have omitted the constraint So = 0 and replaced S, by Si - So in the objective function. The dual problem (for the duality theory of linear programming, we refer to Vanderbei, 1997, Ch. 5) of problem (1.3.6) is
&,aij
Maximize (i,j)EE+
subject t o
x hEPred(i)
ahi-
Qij j€Succ(i)
=
{
1, f o r i = l , ..., n + l
- ( n + 1 ) , for i = O
I
(1.3.7)
14
Ch. 1. Temporal Project Scheduling
ESj := ESj + &j If j 4 Q t h e n push j onto queue Q End (*if *) End (* for *) E n d (*while *) Return ES (1.3.5) Algorithm: Latest schedule. For all j E V \ (0) d o LSj := co LSo := 0, Q := (0) (* Q is a queue*) If maximum project duration ;i> ES,+I is given t h e n b,+l,o := -d Else &+I,o := -ESntl While Q # 0 d o Pop j off queue Q For d l i E Pred(j) d o If LSi > LSj - bij t h e n LSi := LSj - 6ij If i 4 Q t h e n push i onto queue Q E n d (*if*) End (*for *) E n d (* while *) Return LS The earliest and latest completion times ECi and LCi result from the earliest and latest start t i e s ESi and LS, as follows:
ECi = ESi +Pi LCi = LSi +Pi For what follows, it is expedient to establish the following convention. (1.3.6) Remark. ,0) is supposed to be carried out during the Each real activity i (i.e., pi : half-open time interval [Si,Si p,[.
+
Obviously, each real activity i has to be in progress during the time interval [LSi,ECa[independently of its start time Si E [ESi,LS,]. We then define (1.3.7) Definition. The interval [LS,,ECi[ is called the base time interval (or unavoidable time internal) for activity i.
1.3. Temporal project scheduling computations
15
Next, we consider three different float 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 ES, without delaying the latest completion of the project. Thus,
Activity i E V is called critical if i cannot be delayed, that is, if the (possibly induced) maximum time lag = -& equals the (possibly induced) minimum time lag = hi and thus fixes the start time S, of i t o ESi = LS,. Hence, activity i is critical exactly if TF, = 0. Note that always TFo = 0 because of So = 0. If ;i> ES,+l and thus TF,+I > 0, an activity i # 0 is critical exactly if i belongs to a cycle of length zero that contains activity 0. Activity i E V is called near-critical if 0 < T f i < pi. The following result is obvious.
e
(1.3.8) Proposition. For a real activity i , [LS,,ECi[ # near-critical.
0 if and only if activity i is critical or
The early free float EFFi is the maximum amount of time by which the earliest start of activity i at time ESi can increase given that all immediately succeeding activities j can be begun at their earliest start times ESj. Hence,
EFF, = min (ESj - hij)- ES, (i E Suce (r) ,
,
EV
)
The late free float LFFi is the maximum amount of time by which the latest start of activity i at time LS, can decrease given that all immediately preceding activities h can be begun at their latest start times LSh. Thus,
LFFi = LS; - max (LSh+ 6hi) (i E V ) hEPred(i) (1.3.9)Example. If we perform temporal project scheduling for Example 1.2.2 with LS,+I = ES,+l, we obtain the results listed in Table 1.3.1. In the forward pass, we compute the earliest start times ESi (i = 0,1,. . . ,6) beginning with ESo = 0. ES6 = 10 equals the shortest project duration. The backward pass beginning with LS6 = ES6 = 10 provides the latest start times LS, (i = 0,1,. . . ,6). After that, we compute the total floats TF;, the early free floats EFFi, and the late free floats LFFi (i = 0,1,. . . ,6). Activities 0, 5, and 6, for which the total floats equal zel'o, are critical. Activities 1, 3, and 4 are near-critical. Activity 2 is neither critical nor near-critical. Table 1.3.1 also shows the base time interval [LSi,ECi[for each activity i = 0 , 1 , .. . ,6.
16
Ch. 1. Temporal Project Scheduling
Table 1.3.1: Durations, earliest and latest start times, early free floats, late free floats, total floats, and base time intervals for the activities of Example 1.2.2
ESi LSi EFFi LFFi TFi [LSi,ECi[
1.4
0 0 0 0 0
0
0 4 0 1 4 [4,6[
1 6 2 1 5
0
3 8 0 5 8 1 1 1 0 0 2 0 2 0 1 [I, 2[ [5,7[ [8,10[
10 10 0 0 0
0
Orders in the set of activities
Based on the temporal scheduling calculations, we are going to introduce strict orders in the set of activities V, which establish (time-oriented) precedences among project activities. The priority-rule methods for resourceconstrained project scheduling discussed in Chapter 2 require some strict order in set V. Such a strict order specifies, when we want to schedule some activity i (i.e., fix its start time S,),which activities must have been scheduled before. First, we recall the concepts of a relation and a strict order. (1.4.1) Definition.
A (binary) relation p in set V is a set of pairs (i, j) with i, j E V. Instead of (i, j) E p, we also write i 4 j (where "4"is read "before"), and i # j stands for (i, j) $! p. A strict order in set V is an asymmetric and transitive relation 4 in V, that is, (a) for no two elements i, j E V, it holds that i 4 j and j 4 i (asymmetry) (b) if for h, i, j E V, it holds that h 4 i and i 4 j, then h 4 j (transitivity). A strict order in V can also be identified with the set 0 C V x V where (i, j ) E 0 exactly if i 4 j . Note that in Definition 1.4.1, the condition of asymmetry can be replaced with the in-efiedwity of strict order 4 saying that i # i for all i E V. (1.4.2) Definition. The transitive hull or transitive closure tr(p) of an asymmetric relation p in set V is the inclusion-minimal strict order 0 in set V (i.e., there is no strict order 0' in V with Of c 0) that contains all pairs (i, j) E p. The covering relation or core c r ( 0 ) of a strict order 0 in set V is the inclusion-minimal relation p in V with tr(p) = 0.
1.2. Orders in the set of activities
17
Note that for an asymmetric relation p, t r ( p ) = p holds exactly if p is transitive and is thus a strict order. The main problem in establishing an appropriate strict order in the set of activities V is how to deal with cycles in the project network. Recall that a strong component of a directed graph G is a subgraph G' of G with maximum number of nodes and the property that any two nodes of G' are reachable from each other. A cycle structur-e C of an AoN network N is a strong component which contains at least two nodes. Figuratively speaking, a cycle structure represents a maximum set of nested cycles. In the project network of Fig. 1.2.5, the nodes 0, 3, 4, and 5 together with all arcs connecting those nodes, form a cycle structure. Notice that due t o backward arc (n 1,0), the temporal scheduling network Nf represents a cycle structure. As concerns a strict order < in a cycle structure, on the one hand, both i j and j 4 i are excluded for any two nodes i and j in a null cycle. On the other hand, if for two activities i and j which belong t o one and the same then activity i cycle structure, there is a positive minimum time lag should be scheduled before activity j, i.e., i 4 j . We now consider a special strict order in V, the so-called distance order +.
+
e,
(1.4.3) Definition. The distance order 0 or (b) dij = 0 and d,, < 0, where dij is the longest path length from i to j in temporal scheduling network Nf.
Recall that dij equals the length of a longest path from node i t o node j in project network N as well if j is reachable from i in N. Otherwise, it holds that dij 5 0. In case where dij = 0 for some i , j E V and there is no path from i to j in N , strict order
18
Ch. I . Temporal Project Scheduling
the presence of a cycle of positive length and where 6,, := 0 (i E V) and b,j := -oo for (i, j ) $ E+. (1.4.4) Algorithm: Longest p a t h lengths (triple algorithm).
For all i, j E V d o diJ := 6, F o r v = 0 , 1 , ..., n + l d o For all i E V with 6,> -co d o For all j E V with dii < &,, dYj d o &j := diy dvj If dii > 0 t h e n terminate (* there is a cycle of positive length containing node i *) E n d (*for *) E n d (*for *) R e t u r n dij (i, j E V)
+
+
(1.4.5) Remarks. (a) Each strict order < in V can be represented by a precedence graph G<, that is, an acyclic directed graph with node set V and the property that for i, j E V, i # j , there is a path from i to j in G< exactly if i<j. (b) An arc ( i , j ) is said to be redundant in G* if there is a path from i to j in Gi different from arc (i, j ) . As a rule, redundant arcs are deleted from G i , i.e., G< is transitively reduced. The (transitively reduced) precedence graph G< contains arc (a, j ) precisely if the corresponding strict oractivity pair (i, j ) belongs to the covering relation ~ ( 4of ) der <. ( c ) The set of the immediate predecessors of a node i in G < is denoted by Pred'(i). Later we will see that priority-rule methods for resourceconstrained project scheduling problems schedule an activity i only if all of its immediate predecessors, i.e. all activities h E Pred<(i), have already been scheduled.
Algorithms for eliminating redundant arcs and for determining the sets Predi(i), i E V, can be found in Habib et al. (1993). Fig. 1.4.1 shows the temporal scheduling network N+ belonging to the project network N of Example 1.2.2 (without activity durations), where LS,+l = ES,+t = 10. The corresponding longest path lengths dii for i, j E V are listed in Table 1.4.1, where bold entries correspond to distances dij with a < D j . The associated precedence graph G
1.4. Orders in the set of activities
19
Figure 1.4.1: Temporal scheduling network Nt
Table 1.4.1: Longest path lengths
&j
Figure 1.4.2: Precedence graph G+* (1.4.7) Remark. In Chapters 2 and 3, we consider strict orders in V where "i before j" implies that activity i has to be completed before activity j can be begun. Then for a strict order 4 in V, we say that a time-feasible schedule S satisfies the precedence constmints given by 3 if i 4 j implies Sj 2 S, + p i .
We now turn t o (reflexive) orders in set V, which are defined as follows.
20
Ch. 1. Temporal Project Scheduling
(1.4.8) Definition. An order (sometimes also called pre-order in literature) in set V is a reflexive and transitive relation 5 in V, that is, (a) for all i E V, it holds that i 5 i (reflexivity) (b) if for h, i , j E V , it holds that h 3 i and i 3 j, then h 3 j (transitivity). Elements i , j E V with i 5 j and j 5 i are said to be equivalent, in symbols i j. Again, an order in V can be identified with set 0 V x V where (i, j ) E O'exactly if i 5 j.
-
If is an order in set V, then i 5 j precisely if either i 4 j or i where 4 is some strict order in set V.
-
j,
(1.4.9) Remarks. (a) The relation 5Dgiven by i 3D j exactly if dii 0 (i, j E V) is an order in V . We have i 5D j exactly if either i 4~j or dij = dji = 0 (that is, for i N D j , activities i and j have to be begun at the same time). (b) The relation ST given by i 5T j exactly if there is a path from node i to node j in project network N is an order in set V.
>
Notice that if project network N is acyclic and all arc weights in N are nonnegative, then strict orders 4~ and 4~ coincide, orders 5D and 5T coincide, and we have -D = -T = {(i, i ) I i E V). In Sections 2.3,2.12,2.13,2.14,and 3.2 we will discuss additional relations and strict orders in activity set V.
Chapter 2 Resource-Constrained Project Scheduling - Minimization of Project Duration Thus far, we have not taken account of the limited availability of resources which are required for carrying out the activities of a project. In what follows, we are going t o take scarce resources into consideration. In practice, different types of resources may occur. Renewable resources (such as machines, equipment, manpower, or space) are available a t each point in time or, if time is discrete, in each single time period during the execution of the project independently of their utilization formerly. Nonrenewable resources (e.g. money or energy) are depleted by use. Nonrenewable resources only affect the scheduling of activities if activities can be carried out in alternative modes which differ, for example, in duration and amount of resources needed. We then speak of multi-mode project scheduling problems in contrast to single-mode problems. Doubly-constrained resources are restricted a t each point in time (or in each time period if time is discrete) during the execution of the project and for the whole project (for example, money with restricted cash flow per period and limited amount of capital available). A doublyconstrained resource can be replaced by a combination of a renewable and a nonrenewable resource. Cumulative or storage resources represent stockkeeping facilities. They can store a single or several different products and have a prescribed minimum and maximum inventory, where the inventory is generally depleted and replenished over time. Sometimes, the activities are divided into families containing activities with similar properties. Synchronizing resources process the activities from such a family batchwise, where all activities in a batch must be started a t the same time. Examples of synchronizing resources are furnaces or autoclaves in process industries. In literature, additional resource types have been discussed: partially renewable resources (cf. Bottcher et al., 1999), whose capacity refers to sets of time periods, and spatial resources (see de Boer, 1998, and Demeulemeester and
22
Ch. 2. Minimization of Project Duration
Herroelen, 2002, Ch. 2, Subsect. 2.2.5), for which resource requirements refer to activity families instead of individual activities and resource units are occupied from the start of the first up to the completion of the last activity of the family. In this chapter, the objective function to be minimized is again the project duration. In Section 2.10, we briefly discuss other regular objective functions. An objective function is said to be regular if it is nondecreasing in the start times of the activities (in the case of a minimization problem). Nonregular objective functions are dealt with in Chapter 3. In literature, the singlemode project scheduling problem with limited renewable resources and minimum and maximum time lags where the project duration is to be minimized is often called the Resource-Constrained Project Scheduling Problem with maximum time lags in addition to minimum ones, abbreviated as RCPSP/max (cf. Brinkmann and Neumann, 1996, Neumann and Schwindt, 1997, Neumann and Zimmermann, 1999a). In Brucker et al. (1999), a new threefield notation of project scheduling problems has been proposed in analogy to machine scheduling (for the latter problems, we refer to Graham et al., 1979, and Blaiewicz et al., 2001, Sect. 3.4). In this notation, PSltemp(C,, stands for RCPSP/max, where PS refers to resource-constrained project scheduling, temp means that general temporal constraints given by minimum and maximum time lags are prescribed, and C, says that the maximum completion time of any activity, i.e. the project duration or makespan, is to be minimized. A different three-field notation of project scheduling problems has been proposed by Herroelen et al. (1999). During the past decades, most attention has been paid to the related problem RCPSP without maximu.m time lags and where all minimum time lags correspond to precedence constraints (i.e., Jij = pi holds for all arcs (i, j) E E of project network N). In the three-field notation of project where prec refers scheduling, problem RCPSP is denoted by PSlpreclC,,,,, to the precedence constraints between activities. The acyclicity of the project network N for the latter problem is the essential &fference between problems PSltemplC,, and PS(preclC,,. The acyclicity implies that network N establishes a (strict) topological order
see later on, finding feasible schedules for ~ r o b l e mPSltemplC,, represents a hard problem. Different types of solution procedures for PSlpreclC,,,, have been proposed in literature. Almost all exact algorithms are branch-and-bound procedures, where the most efficient methods known thus far have been offered by Demeulemeester and Herroelen (1992, 1997), Brucker et al. (1998), Mingozzi et al. (1998), Dorndorf et al. (2000b), Klein and Scholl (2000), and Sprecher (2000). Heuristic procedures for PSlpreclC,,,,, are either scheduleconstruction or schedule-improvement procedures. A thorough classification and experimental evaluation of a large number of recent heuristics for PSlpreclC,, has been presented by Kolisch and Hartmann (1999) and Hartmann and Kolisch (2000). At present, the best heuristic procedures for problem PSlpreclC,,,, are (i) a randomized bidirectional multi-pass priority-rule method by Tormos and Lova (2001), (ii) a self-adapting genetic algorithm by Hartmann (2002), (iii) an ant-colony optimization algorithm by Merkle et al. (2002), (iv) a decomposition heuristic by Sprecher (2002), where the project network is decomposed into subnetworks, the corresponding subproblems are solved t o optimality by branch-and-bound, and the partial solutions are concatenated, and (v) a multi-pass priority-rule method by Mohring et al. (2003), which is based on so-called a-completion times arising from a Lagrange relaxation of the resource constraints. For a review of solution procedures for various types of resource-constrained project scheduling problems, we refer to the survey papers by Elmaghraby (1995), 0zdamar and Ulusoy (1995), Herroelen et al. (1998), Brucker et al. (1999), and Kolisch and Padman (2001). Whereas the paper by 0zdamar and Ulusoy (1995) is solely dedicated to project scheduling problems with precedence constraints between activities, the four remaining references also cover the case of general temporal constraints. Solution procedures for several project scheduling problems of the latter type have been discussed by De Reyck (1998), De Reyck et al. (1999), Neumann and Zimmermann (1999a), Dorndorf (2002), Neumann et al. (2002c), and Schwindt (2002). The handbook edited by Wgglarz (1999) provides an overview of state-ofthe-art models, algorithms, and applications of resource-constrained project scheduling. A comprehensive and unifying view of the field is offered by Demeulemeester and Herroelen (2002). In particular, the latter book also treats various topics of project scheduling under uncertainty. A detailed discussion of specific project scheduling problems with precedence constraints among activities instead of temporal constraints can be found in the doctoral dissertations of Kolisch (1995), Hartmann (1999), Schirmer (1999), Klein (2000), and Uetz (2002). Models and algorithms for resource-constrained project scheduling with stochastic activity durations are studied in the doctoral dissertation of Stork (2001). In this chapter, we deal with a structural analysis, exact and heuristic solution procedures, and applications for problem PSltemplC,, and some of its generalizations. Many structural and algorithmic results presented are
24
Ch. 2. Minimization of Pro.ject Duration
based on the seminal work by Bartusch et al. (1988). In Sections 2.1 to 2.4, we introduce some basic concepts and results, for example some terminology, properties of the feasible region of PSltemplC,,, and different sets of schedules. In Sections 2.5 to 2.7, we discuss branch-and-bound methods, truncated branch-and-bound methods, priority-rule techniques, and schedule-improvement procedures for PSI templC,=. An experimental performance analysis in Section 2.8 compares the different solution procedures to m a k e presented. In Section 2.9, we study an application of PSltemplC,, toorder production. Regular objective functions different from the project duration are briefly discussed in Section 2.10. In Section 2.11, we deal with the case where some resources are not always available (for example not on weekends or holidays), what can be described by so-called resource calendars. We briefly sketch how t o model a corresponding project scheduling problem with "calendarization" and how t o adapt some of the solution procedures presented to that case. In Section 2.12, we are concerned with cumulative resources keeping inventories which are depleted and replenished over time by the activities of the project. The resource constraints arise from prescribed minimum and maximum inventories for the cumulative resources. In Section 2.13, we study synchronizing resources, which are special renewable resources that process activities in batches. Section 2.14 is devoted t o project scheduling with resource changeover times needed for setting up resources, where the changeover times depend on the activity sequence. In Section 2.15, we discuss multi-mode problems with renewable and nonrenewable resources. In Section 2.16, we show how t o model batch scheduling in process industries as a multi-mode project scheduling problem where renewable, cumulative, and synchronizing resources occur and renewable resources are not always available (case of calendarization). We also sketch an approach t o solving such a general project scheduling problem.
2.1
Formulation of the problem
We assume that a set R of renewable resources is required for carrying out the activities of the project in question. Let Rk E N be the capacity of resource k available and let r i k E Z>o(where rit RI,and rok = r,+l,k = 0 ) be the amount of resource k used byactivity i (i E V, k E R). For simplicity, the given quantities Rk and r i k are assumed t o be constant (independent of time). How to weaken that assumption will be discussed later on. In practice, where resources k E R often represent staff of the same skill or pools of identical facilities (like machines or reactors), the assumption that resource requirements rik and resource capacities Rkare integral is generally satisfied. As for activity durations and minimum and maximum time lags, all concepts and results presented in Chapters 2 and 3 apply t o the more general case of real-valued resource requirements and real-valued resource capacities as well.
<
2.1. Formulation of the problem
25
Given a schedule S = (Si)iEv,let
be the set of (real) activities in progress a t time t, also called the active set at time t. Note that the definition of set A(S, t) exploits Remark 1.3.6 and that A(S, t) contains only r e d activities because po = pn+l = 0. Let
he the amount of resource k used at time t. Moreover, we define
2 :=
max(pi, max b j j ) ((,ACE
iEV
which represents an upper bound on the shortest project duration. The resource constmints, which are now observed in addition t o the temporal constraints, say that the amount of resources required must not exceed the capacity of resources:
The resource-constrained project scheduling problem PSItempIC,, be formulated as follows: Minimize subject to rk(S,t) Rli (k E 72, 0 t 5 2) Si - Si 2 6ii ( ( 2 , j ) E E ) S, 2 0 (i E V) so= 0
<
<
1
can then
(2.1.5)
The assumption that each activity has to be carried out without interruption is implicitly satisfied by the definition of rk(S,t), which implies that each activity i E V is executed within interval [S,, Si + p i [ of length pi. Problem (1.3.1) of finding a timeoptimal schedule, where there are no resource constraints (2.1.4), can be regarded as a resource-constrained project scheduling problem with unlimited resource capacities and is thus denoted by PSmltemplC,,. Recall the concept of a time-feasible schedule (cf. Definition 1.3.1). Now we define in addition: (2.1.1) Definition. A schedule S which satisfies the resource constraints (2.1.4) is called resourcefeasible. The (nonempty) set of resource-feasible schedules is denoted by SR. A schedule which is both time-feasible and resource-feasible is called feasible, and S := ST n SR is the set of feasible schedules. An optimal schedule is a feasible schedule S that minimizes the project duration S,+1. C3S designates the set of optimal schedules.
26
Ch. 2. Minimization of Project Duration
(2.1.2) Remark. Since the project duration is bounded from below by zero, there always exists an optimal schedule if there is a feasible schedule. Moreover, since the processing times p( (i E V) and all minimum and maximum time lags and thus the arc weights 6, ((a, j ) E E) are integers, there also exists an integer-valued optimal schedule provided that S # 0.
For a given schedule S = (S,)icv, the function r k ( S ,.) is called the resource profile of resource k. A resource profile represents a step function,
which is continuous from the right at its jump points. Since at each jump point at least one real activity is begun or is terminated, the number of jump points of all resource profiles r k ( S ,.), k E R,is at most 2n. Resource profile r L ( S .) , is associated with a so-called Gantt chart, which contains a block of length pi and height for each real activity i over the time axis, where the block begins at time S,. (2.1.3) Example. Fig. 2.1.1 depicts the AoN network of the project of Example 1.2.2, where we additionally consider a single resource k (we then drop resource index k). The Gantt chart for the earliest schedule E S = (0,0,1,0,3,8,10) and the corresponding bold-line resource profile r ( E S ,.) are illustrated in Fig. 2.1.2. E S is infeasible if the resource capacity available is less than 5. Table 2.1.1 shows the active sets A ( E S , t ) for t = 0,1,.. . , l o .
Figure 2.1.1: AoN project network with a single resource
Table 2.1.1: Active sets for earliest schedule E S
t
6 7 8 , 9 10 A ( E S , t ) {1,3) {1,2,3) {1,21 {1,2,4) {1,4) (41 0 151 0 0
1
2
3, 4
5
2.2. Cycle structures in activity-on-node project networks
27
Requirement at time t t 5
4 3 2
-
Legend:
1 t
rfE3.t)
Figure 2.1.2: Gantt chart and resource profile for earliest schedule ES
2.2
Cycle structures in activity-on-node project networks
Cycles, which are caused by maximum time lags, represent an essential element of an AoN project network. As we will see later, some heuristic methods for (approximately) solving PSltempJC,, place a special emphasis on the cycle structures (that is, strong components with a t least two nodes) of the project network in question. Thus, we next examine cycle structures of AoN networks in more detail. We are going t o formulate a problem of type PSIternplC,,,, for any cycle structure C of the underlying project network N to be treated as a separate subproject and begun at time zero. To do so, we first expand each cycle struo ture C t o obtain an AoN network NC with beginning node a: and termination node w . Moreover, we determine the minimum and maximum duration of the subproject corresponding to C or NC, respectively, and compute earliest and latest start times of the activities of that subproject. We assume that C does not represent a cycle structure all of whose cycles have length zero. If the start time of one activity in such a cycle structure is fixed, the start times of all remaining activities are fixed as well. Thus, no scheduling is required within such a cycle structure. Let UC be the set of the nodes of cycle structure C . For i, j E uC,the (possibly induced) maximum time lag between the start of activities i and j is equal to -dji provided that di; < 0, where dji is the longest path length from node j t o node i in temporal scheduling network Nf and thus in C as well. Accordingly, -dji p, is the maximum time lag between the start of activity i and termination of activity j (see Fig. 2.2.1).
+
3 := max max(-dii ieUC j€Uc
+pi)
represents the maximum time lag between the start of any activity and termination of any other activity in C,that is, 3 equals the maimurn duration of the subproject corresponding to C (which cannot be exceeded without violating at least one maximum time lag in C ) .
28
Ch. 2. Minimization of Project Duration
Figure 2.2.1: Maximum time lag Next, we construct the temporal scheduling network N C corresponding to C as follows. We add the auxiliary node (fictitious beginning activity) a with duration pa := 0 (and resource requirement r,k := 0 for all k E R ) and, for each i E UC with max,,uc\{i) dji < 0, the arc ( a ,i ) with weight 6,i := 0. Furthermore, we add the auxiliary node (fictitious termination activity) w with duration pw := 0 (and resource requirement rwk := 0 for all k E R) and, for each i E UC with maxi,uc\li) d, < pi, the arc (i,w) with weight 6iw : = p i . Eventually, we introduce the backward arc (w, a ) from w to a with weight 6,, = -2.Let V C := UC U {a,w) he the node set of N C . In network N G , we can compute the longest path lengths from node a to nodes i and the longest path lengths from nodes i to node a (i E V C ) by a label-correcting algorithm (cf. Section 1.3). ESF = d:, and LSF = -dz are the earliest start time and latest start time, respectively, of activity i 6 V C in the subproject corresponding to C or N C . ES: equals the minimum duration of that subproject.
ei
e,
(2.2.1) Example. The construction of network N C from cycle structure C is illustrated by the example shown in Fig. 2.2.2 depicting one of the two cycle structures of the project network of Example 2.1.3. C has the node set U C = {0,3,4,5) and -C contains the solid-line arcs. By (2.2.1) we obtain d = p, = 12, which represents the maximum duration of the subproject corresponding to C. Network N C additionally contains the nodes a and w and the dashed-line arcs. The longest path length from a to w is ES: = 10, which coincides with the minimum duration of the subproject.
-e0+
-y .2...,...-
Legend:
Figure 2.2.2: Cycle structure C and AoN network NC
2.2. Cycle structures in activity-on-node project networks
29
Let E C be the arc set of N c , Sf be the start time of activity i in N C ,
be the active set, and
be the utilization of resource k a t time t given subschedule S C = (Sf)iE"c. Then the resource-constrained project scheduling problem for the subproject that corresponds t o cycle structure C or network N~ and begins a t time zero can be formulated as follows: Minimize S: subject t o r k ( S C , t )5 Rk ( k E R, 0 5 t 5 2) S f - Sf 2 &j ( ( i ,j ) E E') (i E vC) Sf 2 0 =0
sC ,
I
(2.2.2) Remark. A feasible solution (Sf)i,vc of (2.2.3) is also called a feasible subschedule for cycle structure C . In analogy to Theorem 2.3.13 stated later on, testing whether there is a feasible subschedule for C is NP-complete.
The following decomposition theorem is important for some heuristic methods for approximately solving PSI templCm,. (2.2.3) Theorem. There exists a feasible schedule for project network N if and only if there is a feasible subschedule for each cycle structure C of N .
Sketch of proof. The necessity is trivial. For the sufficiency, we will see in Subsection 2.5.5 that the so-called decomposition methods find a feasible schedule for N in an easy way once for each cycle structure C of N , a feasible subschedule has been computed. (2.2.4) Remark. In Chapter 1, we have introduced the temporal scheduling network N+ for calculating latest start times of activities. Since in project network N , there is a path from node 0 to each node i E V and a path from each node i E V to node n 1, the addition of backward arc (n 1,O) yielding network N+ transforms network N into a single cycle structure. To avoid such a large cycle structure and exploit the decomposition theorem efficiently in Sections 2.5 and 2.6, we always refer t o project network N when dealing with resourceconstrained project scheduling problem PSI temple,,,,.
+
+
30
2.3
Ch. 2. Minimization of Project Duration
Properties of the feasible region
In this section, we first introduce strict orders referring to precedence rela, tionships Sj Si + p i between activities i , j E V. These orders turn out to be very useful for studying different kinds of schedules and developing efficient enumeration schemes of branch-and-bound procedures. Obviously, each schedule S induces a strict order consisting of all pairs (i, j) of activities a, j E V with Sj 2 Si +pi. If S is not resource-feasible, we have to establish additional precedence relationships between some activities i and j to decrease the maximum resource requirement maxt>or&(S,t ) for at least one resource k. We then show that the feasible region of problem PSI templC,, decomposes into a finite number of so-called order polyhedra belonging to certain strict orders. To construct the set of those orders, we introduce the concept of a minimal forbidden set of activities and show how to enforce resource feasibility by establishing a precedence relationship between two activities of each minimal forbidden set. Recall that the set ST of all time-feasible schedules is given by the constraints Si- Si & ( ( i , j ) E E), Si > 0 (i E V), and So = 0 and thus represents a (convex) polyhedron in E%?i2. The set S of all feasible schedules (i.e. the feasible region of PSI temdC,,), however, is generally neither a polyhedron nor a connected set as we will demonstrate in this section.
>
>
2.3.1
Strict orders and order polyhedra
We first define the concepts of time-feasible and feasible strict orders in activity set V, which have been introduced by Bartusch et al. (1988). (2.3.1) Definition. Let 0 V x V be a strict order in activity set V and let ST(O) := {S E STI S3 Si +pi for all (a, j ) E 0) be the set of all timefeasible schedules satisfying the precedence constraints given by 0 (cf. Remark 1.4.7). ST(O) is called the order polyhedron of 0. Strict order 0 is termed time-feasible if S r ( 0 ) # 8. A time-feasible strict order 0 with ST(O) 2 S is called feasible.
>
Clearly, subset S T ( 0 ) of ST represents a polyhedron. Order polyhedron ST(O) is the set of all time-feasible schedules belonging to the following "expanded" project network N ( 0 ) . (2.3.2) Definition. Given strict order 0 in set V, the order network N ( 0 ) results from the underlying project network N as follows. For each pair (i, j) E 0 , add the arc (i, j ) with weight pi or, if N already contains arcs (i, j ) with weight Ji,, replace its arc weight by max(6ij,pi).
2.3. Properties of the feasible region
31
An arc ( i , j )in order network N ( 0 ) with ( i , j ) E 0 corresponds to precedence constraint S, 2 Si+ p , and says that activity j can be started a t the completion of activity i at the earliest. The following proposition shows how to verify the time-feasibility of a strict order by examining the corresponding order network. ( 2 . 3 . 3 ) Proposition. Strict order 0 in V is time-feasible if and only if order network N ( 0 ) does not contain a cycle of positive length. Proof. By definition, strict order 0 is time-feasible exactly if S T ( O ) # 0. Polyhedron S T ( 0 )corresponds to the set of timefeasible schedules belonging to network N ( 0 ) . From Theorem 1.3.3 it follows that there is a time-feasible schedule for N ( 0 ) precisely if N ( 0 ) does not contain any cycle of positive length.
We illustrate Definitions 2.3.1 and 2.3.2 for the project of Example 2.1.3. The corresponding project network N is depicted in Fig. 2.1.1. (2.3.4) Example. Relation 0 = { ( 2 , 4 ) ,( 2 , 5 ) ,( 3 , 4 ) ,( 3 , 5 ) ,( 4 , 5 ) ) in set V is asymmetric and transitive and thus represents a strict order in V. Fig. 2.3.1 shows the corresponding order network N ( O ) , where arcs (2, j) belonging to pairs ( i ,j ) E 0 are indicated by bold-line arrows. Since N ( 0 ) does not contain any cycle of positive length, the corresponding order polyhedron S T ( O ) is nonempty. Thus, by Proposition 2.3.3 strict order 0 is time-feasible. On the other hand, schedule S = ( 0 , 0 , 1 , 1 , 5 , 9 , 1 1 )E S T ( 0 ) is not resourcefeasible and thus S r ( 0 ) 9 S . That is, strict order 0 is not feasible.
We now turn to strict orders 0 in V that are given by the precedence relationships induced by some schedule S.
32
Ch. 2. Minimization of Project Duration
(2.3.5) Definition. Given a schedule S , O(S) := {(i, j ) E V x V I i # j, Sj Si +pi) is the schedule-induced strict order which corresponds to the precedence constraints given by S. The order polyhedron ST(O(S)) of O(S) is called the schedule polyhedron of S and the order network N(O(S)) is referred t o as the schedule network of S.
>
By Definition 2.3.1 we have S T ( 0 ) = {S E STI O(S) _> 0 ) . We notice that order O(S) is strict for each schedule S because pi > 0 for all i = 1 , . . . , n. Scheduleinduced strict orders O(S) belong to the class of so-called interval orders, for which (i, j), (i t, j') E O(S) implies (i,j') 6 O(S) or (it,j ) E O(S). If schedule S is timefeasible, ST(O(S)) contains S . If schedule S is feasible, we have Sr(O(S)) G S and thus the following
(2.3.6) Proposition. Strict order O(S) induced by a time-feasible schedule S is feasible if and only if schedule S is feasible. Recall that a (time-)feasible strict order 0 in V is said to be inclusionminimal if there is no (time-)feasible strict order 0' in V with 0' c 0 . Obviously, 0' 5 0 exactly if ST(O1) S T ( 0 ) . Notice that for a time-feasible schedule S , schedule polyhedron ST(O(S))represents the inclusion-minimal order polyhedron which contains S . This can easily be seen by assuming the existence of some strict order 0 > O(S) with S E S T ( 0 ) . Then strict order 0 contains a pair (i, j ) gI O(S). That is, we have Sj < S, + p,, which contradicts the assumption S E S T ( 0 ) . Next, we prove the basic structuml theorem, which is due t o Bartusch et al. (1988).
>
(2.3.7) Theorem. Let O be the (finite) set of all inclusion-minimal feasible strict orders in activity set V. Then S = UoEoST(O). Proof. Since ST(0) 2 S for each feasible strict order 0 in V, the union of the order polyhedra S T ( 0 ) of all inclusion-minimal feasible strict orders 0 is a subset of S. On the other hand, for each feasible schedule S, strict order O(S) is feasible and ST(O(S))contains S . Thus, S is a subset of the union of the order polyhedra S T ( 0 ) of all feasible strict orders 0 in V. Since 0' C 0 implies S T (O t ) S T ( 0 ) , S is a subset of the union of the order polyhedra ST(O') of all inclusion-minimal strict orders 0' as well.
>
Theorem 2.3.7 says that the feasible region S of PSItemp)C,,,, represents the union of finitely many polyhedra. However, S is generally neither a polyhedron nor a connected set. Even the individual (connected) components of S need not be convex, but represent unions of (convex) polyhedra. In explanation of the previous concepts and results we consider an example.
2.3. Properties of the feasible region
33
(2.3.8) Example. Consider the project with four real activities and one resource of capacity R = 2 given by the AoN network of Fig. 2.3.2. Since activities 3 and 4 are linked with the project beginning 0 by a cycle of length zero, they must be begun precisely at time 0 and 4, respectively. Activities 1 and 2 are coupled by two maximum time lags of one time unit each, and thus they must overlap during at least one time unit.
Legend:
fi Ti
Figure 2.3.2: AoN project network with a single resource We consider some examples of strict orders. Strict order 0 = {(1,2)) is not time-feasible because the addition of arc (1,2) with weight pl = 2 to project network N leads to a cycle of positive length in order network N(O), cf. Proposition 2.3.3. Strict order Or = {(I,4)) is time-feasible. Since ST(Of)contains the resource-infeasible schedule ES = (0,0,0,0,4,5), 0' is not feasible. By adding pair ( 3 , l ) to 0' and taking the transitive hull, we obtain the feasible strict order 0" = {(I,4), (3, I), (3,4)). Schedule S = (0,0,0,0,0,3) does not observe the minimum time lag = 4 between activities 3 and 4 and is thus not time-feasible. The strict order O(S) = {(0,1), (0,2), (0,3), (0,4), (1,5), (2,5), (3,5), (4,511 induced by schedule S, however, is time-feasible, and ST(O(S))= ST. Schedule S = ES is time-feasihle but not resource-feasible. Accordingly, the corresponding schedule-induced strict order O(S ) = O(S)u{(l, 4), (2,4), (3,4)) is time-feasible but not feasible. The schedule-induced strict order O(SPf)= O(S1)U {(3,1)) belonging to feasible schedule S ' = (0,1,0,0,4,5) is a feasible strict order. Fig. 2.3.3 shows the Gantt charts for schedules S, S , and S". Whereas for the light-shaded activities 1 and 2, the temporal constraints allow different start times, the dark-shaded activities 3 and 4 are firmly tied to the project beginning 0. repFig. 2.3.4 shows all pairs (ST,S2) for which S = (0, S1, Sz, 0,4, resents a time-feasible schedule. Since the start times S3 = 0 and S 4 = 4 of real activities 3 and 4 are uniquely determined, we only consider the intersection of the latter hyperplanes with &&projected onto the S, - S2plane. We call the corresponding projection of-ST onto that twwdimensional subspace the S1- S2 sectzon of ST. In addition, the S1 - S2sections of order polyhedra ST(O'), ST(On),ST(O(S1)),and ST(O(SV))are illustrated in Fig. 2.3.4, where the dashed-line "translation arrows" assign the order polyhedra to their respective position within ST.
e$ f
f
f
f
34
Ch. 2. Minimization of Project Duration
Figure 2.3.3: Gantt charts for schedules S, S', and S"
Legend:
Figure 2.3.4: Set ST and some order polyhedra
2.3.2
Forbidden sets and resolution of resource conflicts
Feasible strict orders in activity set V are closely related to certain subsets of V, the swcalled forbidden sets (cf. Bartusch et al., 1988, and Stork and Uetz, 2001). A forbidden set represents a set of activities whose joint requirement for some resource k exceeds the available capacity of resource k.
(2.3.9)Definition. A set of activities F 2 V is called a forbidden set if
rik > Rk for some k
ER
iEF
If F is minimal with respect to set inclusion, we speak of a minimal forbidden set, that is, F is forbidden but no proper subset F' c F is forbidden. By 3 we denote the set of all minimal forbidden sets. A set A c V which is not forbidden is termed a feasible set. A is said to be a maximal feasible set if no proper superset A' > A is feasible.
35
2.3. Properties of the feasible region
Since the concept of forbidden sets solely refers to the resource requirements and capacities, a set F may be forbidden regardless of whether or not time lags prevent the simultaneous execution of all activities i E F. To resolve a resource conflict of type (2.3.1) caused by a minimal forbidden set F, we "break up" F by shifting an activity j E F up to the completion of an activity i E F \ {j},that is, by introducing the precedence constraint S, 2 S, +p, (or i -+ j, for short) between activity i and activity j . Consider the simple example of a two-element forbidden set F = {i, j}, i.e., (2.3.1) takes the form
+
r i ~ r7h > Rk for some k
ER
(2.3.2)
Requirements at time t
t
Figure 2.3.5: Resource conflict
+
(see Fig. 2.3.5). If we introduce the precedence constraint Sj 2 S, pi between activities i and j , then resource conflict (2.3.2) will be resolved. In Definition 2.3.1, we have introduced the concept of time-feasibility and feasibility of strict orders from a geometric point of view. According to Proposition 2.3.3, the time-feasibility of a strict order 0 can be verified by checking whether order network N ( 0 ) contains a cycle of positive length. Supplementing Proposition 2.3.3, the following theorem by Bartusch et al. (1988) states that the feasibility of a strict order 0 can be verified by calculating longest path lengths in network N ( 0 ) as well. (2.3.10) Theorem. Time-feasible strict order 0 in V is feasible if and only if for each minimal forbidden set F E 7, order network N ( 0 ) contains a path from some node i E F to some node j E F whose length is at least pi. Proof. Sufficiency: Let 0 be a time-feasible strict order such that for all minimal forbidden sets F E 3, network N ( 0 ) contains a path from a node i E F to a node j E F whose length is greater than or equal to pi. For all those pairs (i, j), each schedule S E S T ( 0 ) then satisfies inequality S, 2 Si +pi. In Bartusch et al. (1988) it is shown that a schedule S is resourcefeasible exactly if for all minimal forbidden sets F E 7, there are
36
Ch. 2. Minimization o f Project Duration
two distinct activities i, j E F with S j 2 Si+pi. Thus, with S T ( 0 ) ST we have 0 # S T ( 0 )C_ SR r l ST = S. Necessity: Now let 0 be a feasible strict order. We assume that there is a forbidden set F for which all path lengths in network N ( 0 ) from nodes i E F to nodes j E F are less than pi. Then there exists a schedule S E S T ( O ) for which all activities i E F overlap in time. Thus, S is not resource-feasible, and S T ( 0 ) 9 S . This contradicts the feasibility of strict order 0.
A timefeasible strict order 0 is said t o break up forbidden set F if for each minimal forbidden subset F' of F, there are activities i, j E F' such that the longest path length from i to j in network N ( 0 ) is equal t o or greater than pi. In other words, strict order 0 breaks up forbidden set F if the precedence constraints induced by the temporal constraints (1.2.1), i.e., Sj - Si 2 6ij for all (i, j) E E,and the pairs (i, j ) E 0 resolve all resource conflicts between activities from F . We say that schedule S partitions forbidden set F into feasible subsets if O ( S ) breaks up F . (2.3.11) Remark. It can easily be seen that S partitions F if and only if for all t 0, set A(S,t ) fl F is feasible. A time-feasible strict order 0 is feasible if and only if 0 breaks up all forbidden sets, which holds true precisely if 0 breaks up all minimal forbidden sets. A timefeasible schedule S is feasible if and only if S partitions all forbidden sets.
>
To illustrate the above concepts and results, we return t o the project of Example 2.3.8. (2.3.12) Example. In order to construct the set 0 of inclusion-minimal feasible strict orders for the project given by the AoN network in Fig. 2.3.2, we determine the set F of all minimal forbidden sets. Because of resource capacity R = 2 and resource requirements r, = I for all real activities i, set 3 of minimal forbidden sets F is the set of all threeelement subsets of { 1 , 2 , 3 , 4 ) . Due t o the minimum time lag qj= 4, the minimal forbidden sets { 1 , 3 , 4 ) and {2,3,4} cannot be in progress a t any point in time. Thus, we may restrict ourselves to minimal forbidden sets Fl = { 1 , 2 , 3 } and Fz = {1,2,4). Since activity 3 must be started at time 0, there are only two alternatives t o resolve the resource conflict given by Fl: activity 1 or activity 2 is t o be delayed up to the completion of activity 3 a t time 1. To break up F2,four alternatives have t o be taken into account: the completion of activity 1 or activity 2 before the start of activity 4 at time 4 or the start of activity 1 or activity 2 after the completion of activity 4 a t time 5. A precedence relationship between activities 1 and 2 would contradict one of the two maximum time lags qy = qi"= 1. Table 2.3.1 shows the resulting eight alternative combiiations of precedence constraints i t j with i , j E Fl and i , j E F2, respectively. The
2.3. Properties of the feasible region
37
corresponding strict orders 0, ( p = 1,.. . ,8) are the transitive hulls (cf. Definition 1.4.2)of the relations containing a pair (i, j ) for each respective precedence constraint i -t j that is not implied by the temporal constraints and the remaining precedence constraints. All strict orders 0,( p = 1,.. . ,8) are feasible because first the corresponding order networks N(0,)do not contain cycles of positive length and second they break up all minimal forbidden sets F. Order polyhedra ST(O,) S result from the intersection of set ST with the sets of schedules obeying the additional temporal constraints listed in Table 2.3.1. These temporal constraints are implied by the corresponding precedence constraints i + j.
Table 2.3.1: Breaking up forbidden sets Fl and F2
Fl FZ 1 3 + 1 1 +4
p
Strict order 0,
Constraints
{(3,1),(1,4),(3,4)} 1 < Sl < 2
Strict orders 0, and Oscoincide with strict orders O3and 0 4 ,respectively. As a consequence, the set of inclusion-minimal feasible strict orders 0 is 0 = {01,02,03704>05rO6) The covering of the feasible region S by order polyhedra ST(O)with 0 E O is illustrated in Fig. 2.3.6, where the S1- S2 sections of polyhedra ST(0)with 0 E O and the S1 - Szsection of S are shown. Again, the dashed-line "translation arrows" indicate the position of the order polyhedra within S. We point to two important facts. First, the covering of S is not a partition, i.e., some order polyhedra overlap. This implies that one and the may be obtained by same schedule (for instance, schedule S = (0,5,5,0,4,5)) breaking up forbidden sets according to different strict orders (strict orders 0 3 and 04). Second, it may even happen that an order polyhedron Sr(0)of an inclusion-minimal feasible strict order 0 is not inclusion-maximal, that is, ST(O)forms a proper subset of an order polyhedron &(Of)of some different feasible strict order 0'.In our example, we have ST(Oz) C ST(O1) and Sr(06) c ST(05). We finally notice that a schedule polyhedron Sr(O(S)) belonging to an inclusion-minimal schedule-induced strict order O(S)is always inclusion-maximal in the set of schedule polyhedra. We now turn to the decision problem whether or not the feasible region
S is empty. As a consequence of Theorem 2.3.7, there exist feasible strict orders 0 if and only if S f 0.
Ch. 2. Minimization of Project Duration
38
Legend:
Figure 2.3.6: Covering of the feasible region S by order polyhedra
(2.3.13) Theorem. The problem of testing whether there is a feasible schedule for a given instance of PSltemplC,,,, is NP-complete. Proof. The feasibility of a given schedule S can be checked by computing Sj - Sifor all arcs (2, j ) E E of project network N as well as the resource requirements rk(S,t ) for all resources k E R and all start times t = Si of real activities i = 1,. . . , n. Thus, verification of schedule feasibility can be done in polynomial time, and the problem to decide upon the existence of a feasible schedule belongs to NP. In Bartusch et al. (1988) it is shown by transformation from problem PRECEDENCE CONSTRAINED SCHEDULING that the decision problem whether or not S = 0 is NP-hard. It is easy to see that if project network N is acyclic, a feasible schedule can be found in polynomial time. For example, executing the activities one after the other beginning a t time zero and observing the time lags provides a feasible schedule. Interestingly, the verification of feasibility for a given time-feasible strict order 0 can be done in polynomial time by computing minimal flows in networks with minimum node capacities (cf. Mohring, 1984).
2.4
Different types of shifts and sets of schedules
In this section, we consider different finite sets of schedules introduced by Neumann et al. (2000), which are based on different types of shifts of sets of activities. The different types of schedules correspond to minimal points of
2.4. Different types of shifts and sets of schedules
39
(certain subsets of) the feasible region S , and the respective sets of schedules contain an optimal schedule if S # 0. In machine scheduling and project scheduling without maximum time lags, it is common to consider shifts of single activities (cf. e.g. Brucker, 2001, Sect. 1.5, and Sprecher et al., 1995). For problem PSltemplC,,, however, due to maximum time lags between activities in addition to minimum ones, several activities may be firmly tied (for example, they have to be begun at the same point in time) so that they cannot be shifted individually. First, we define the concept of a shift precisely. (2.4.1) Definition. A shift transforms a schedule S = (S,)iEv into a schedule St # S . We also speak of a shij? from S to S'. We have a left-shift (or fight-shzft) of a set of activities V' where 0 # V' & V if S; < Sj (or S; > Sj, respectively) for all j E V' and Si = Sj for all i E V \ V', or more briefly, St 5 S (or St 2 S , respectively) and S' # S. (2.4.2) Definition. A global shift transforms a feasible schedule S into a feasible schedule St # S.
Since the set S of all feasible schedules is in general disconnected, the feasibility of two different schedules S and St does not necessarily imply the feasibility of "intermediate" schedules. To ensure the latter, we state (2.4.3) Definition. A shift which transforms a feasible schedule S into a feasible schedule S' # S such that there is a continuous function x : [O, 11 -+ S with x(0) = S and x(1) = St is called local.
The function x in Definition 2.4.3 is also called a trajectory from S to St. Figuratively speaking, for a local shift from S to St, there is a trajectory from S to Sf which totally belongs to one and the same component of (the generally disconnected) set S. Obviously, a local shift is global as well. Using the schedule-induced strict orders O(S) introduced in Section 2.3, we can define two additional types of shifts. (2.4.4) Definition. Consider a shift transforming a feasible schedule S into a feasible schedule St # S. The s h i i is called order-preserving if O(S) O(St). The shift is called order-monotone if O(S) O(St) or O(S) O(S1).
c
>
c
Trivially, an order-preserving shift is order-monotone as well. An orderpreserving shift from S to St preserves the precedence relationships given by strict order O(S), that is, it transforms nonoverlapping activities i and j (i.e., Sj S, + p i ) into nonoverlapping activities (i.e., S; 2 S: +pi). In particular, S' belongs to the schedule polyhedron ST(O(S)) of S. If there is an order-monotone shift from S to S', then S ST(O(S)) ST(O(S1)) or ST(O(S)) C ST(O(S1)) C S. Thus, the line segment joining S and St belongs to S . In particular, an order-monotone shift is local.
>
>
>
40
Ch. 2. Minimization of Project Duration
(2.4.5) Example. To illustrate the different types of shifts, we consider the project with five real activities and one resource of capacity R = 3 given by the AoN network of Fig. 2.4.1. Activities 3 , 4 , and 5 are coupled with the project beginning 0 by a cycle of length zero. Thus, the corresponding start times S:, = 0, S4 = 4, and S5 = 9 are fixed. Fig. 2.4.2 shows the Gantt chart for the earliest schedule E S , where again dark shading of activities indicates that the respective start times are fixed.
Figure 2.4.1: AoN project network with a single resource
Figure 2.4.2: Gantt chart for earliest schedule Analogously to Example 2.3.12, the feasible region S can be constructed by considering the order polyhedra belonging to strict orders breaking up all minimal forbidden sets (cf. Fig. 2.4.3, which depicts the Sl - Sz section of S ) . Since in interval [4,5[ the three capacity units available are used for processing activity 4, activities 1 and 2 either have t o be completed by time S4 = 4 (i.e., started at time t = 2 at the latest) or they have t o be started after completion of activity 4 at time 5. Thus, S decomposes into two disjoint sets. The execution of activity 5 in interval [9,10[ requires two units of the resource. Hence, one of the activities 1 and 2, which need one unit of the resource each, can be processed in parallel with activity 5. Since activities 1 and 2 are linked by two maximum time lags = 2 and = I, activity 2 has t o be started simultaneously with the completion of activity 1, i.e., SZ= Sl 2, which gives rise to the line segment joining schedules ( 0 , 7 , 9 , 0 , 4 , 9 , 1 1 )and (0,8,10,0,4,9,12).
e2az:
+
2.4. Different types of shifts and sets of schedules
2
4
6
8
10
41
12
Figure 2.4.3: Feasible region S We now consider the five schedules S, S', S 2 , S 3 , and S4 marked in Fig. 2.4.3. The corresponding Gantt charts are shown in Fig. 2.4.4. The strict order O(S) induced by schedule S is the transitive hull of relation {(0,3), (3,4),(4,5),(5, I), (5,2),(1,6),(2,6)}. Clearly, the shift transforming S into schedule S1 is a global left-shift. Schedule S2 belongs to the same component of S as S , and thus there is a trajectory x of feasible schedules connecting S and S 2 . Accordingly, the left-shift transforming S into S2 is local. By removing pair (5,2) from O(S), we obtain the strict order O(S 3 ) induced by schedule S 3 . Hence, the transformation of S into S3 represents an order-monotone left-shift. Since O ( S ) O(S 3 ), that is, the shift from S to S3 is not order-preserving, the opposite shift from S3 to S is orderpreserving. Eventually, we have O(S 4 ) = O ( S ) U { ( 1 , 2 ) } , and thus the leftshift from S to S4 is order-preserving. Now we introduce several sets of schedules that do not allow certain types of shifts. (2.4.6) Definition. A feasible schedule S is called active, semiactive, pseudoactive, or quasiactive i f there is no global, local, order-monotone, or order-preserving, respectively,
42
Ch. 2. Minimization of Project Duration
Figure 2.4.4: Gantt charts for schedules S, S1, S2, S3, and S4 left-shift from S. The sets of all active, semiactive, pseudoactive, and quasiactive schedules are denoted by A S , SAS,P A S , and QAS, respectively. The relationships between the different types of shifts imply that active schedules are semiactive, semiactive schedules are pseudoactive, and pseudoactive schedules are quasiactive. This result is illustrated in Fig. 2.4.5.
Legend: A + 8 means A
2B
Figure 2.4.5: Relations p between sets of schedules In what follows, we establish a one-to-one correspondence between schedule sets of Definition 2.4.6 and minimal points of certain subsets of the feasible region S. We call a point S E M minimal point of M if there is no point S E M with Sf # S and S' 5 S. Let P C K':;t by a polyhedron. By 1bP := (minsEp So,.. . ,minsEp S,+,) we denote t h i lower bound of ordered set ( P ,<) corresponding to the vector of componentwise minima of P. Note that 1bP is not necessarily contained in set P. We next show, however, that we have IbP E P in the special case where P = ST(0) for some strict
c
f
2.4. Different types of shifts and sets of schedules
43
order 0 in set V . In the latter case, IbP coincides with the greatest lower bound inf P of ( P ,I ) ,and it holds that Zb'P = min P , i.e., 1bP is the unique minimal point of P (cf. Bartusch et al., 1988).
(2.4.7) Lemma. Let 0 be a strict order in set V. Then l b S T ( 0 )is the unique minimal point of order polyhedron S T ( 0 ) . Proof. Since S+ := l b S ~ ( 05) S for all S E ST(O),it is sufficient to show that S+ E S T ( 0 ) . Consider mapping $ ( S ): 4z2+ R $ ~ given by (*(s))j =
(,$$+ (si+ & j ) , (i,i)EO mar (Si + pi))
(j E V )
Then S T ( 0 )equals set { S E ~w :: 1 So = 0, S 3 r(t(S)}.Since $ is componentwise nondecreasing and S+ 5 S holds for all S E ST(O),we have $(S+) 5 m i n ~ ~ ~r(t(S). , ( ~ )Now assume that S+ 4 ST(O). Since S t = 0, there is an activity j E V such that ST < ($(S+))jI m i n ~ ~ s , ( o ) ( $ ( SI )), minsesT(o)S j = ST, which contradicts the assumption.
(2.4.8) Remark. Schedule m i n S T ( 0 )coincides with the vector of longest path lengths from node 0 to nodes i E V in network N ( 0 ) and can thus be regarded as the earliest schedule belonging to project network N ( 0 ) . Now we are ready to prove (2.4.9) Theorem. ( a ) A schedule S is active if and only if S is a minimal point of S . ( b ) A schedule S is semiactive if and only if S is a minimal point of a component of S . ( c ) A schedule S is pseudoactive if and only if S is the minimal point of all order polyhedra S T ( 0 )belonging to feasible strict orders 0 & O ( S ) . ( d ) A schedule S is quasiactive if and only if S is the minimal point of schedule polyhedron ST (O(S)).
Proof. ( a ) ,( b ) ,and ( d ) are obvious. Now let S be a pseudoactive schedule and assume that there is a feasible strict order 0 E O ( S )such that S is not the minimal point S' of S T ( 0 ) .Since St is the unique minimal point of ST(O) and S E ST(O),the shift from S to S' is a left-shift. From the quasiactivity of S it follows that for all X > 0,O ( S + X(S1- S ) ) 2 O ( S ) . Since pi > 0 for i = 1,.. . ,n,there is a positive A such that all activities which overlap for schedule S overlap for schedule S X(St - S ) as well. In other words, there is a left-shift from S to some feasible schedule S" = X(Sr- S ) such that O(S") C O ( S ) ,that is, the shift from S to S" is order-monotone, which contradicts the pseudoactivity of S. On the other hand, for a schedule S
+
44
Ch. 2. Minimization of Project Duration
which is not pseudoactive, there is a schedule St such that the shift from S t o St is an order-preserving left-shift or the shift from St to S is an orderpreserving right-shift. In the first case, we have S' € ST(O(S)),and S is not the minimal point of schedule polyhedron ST(O(S)). For the second case, we have S E ST(O(S1)),and S is not the minimal point of schedule polyhedron ST(0(S1)),where O(S 1) O(S) is a feasible strict order. The sets dS and SdS of active and semiactive schedules coincide with the sets of (global) minimal points of the feasible region S and of components of S, respectively. IP+' a bcal minimal point of M if there exists We call a point S E M an e > 0 such that S is a minimal point of M n N,(S), where N,(S) := {Sf E Rn+' I [IS1-SII < E ) with llSll := is the E-neighborhood of point S . Pseudoactive schedules S are local minimal points of S because for sufficiently small E > 0, there is no global left-shift from S t o some schedule S1E N,(S). &om Theorem 2 . 4 . 9 ~it follows that conversely, each local minimal point of S is a pseudoactive schedule. Although quasiactive schedules are minimal points of schedule polyhedra, they do not necessarily represent local minimal points of S (e.g. schedule S4 in Fig. 2.4.3, see Example 2.4.11). (2.4.10) Remarks. (a) It is obvious that for S f
0,there is always a minimal point of S (and thus an active schedule) which represents an optimal schedule. (b) Let S be a quasiactive schedule. Then So= 0, and for each activity j f 0, there is an activity i E V such that Sj = Si bij or Sj = Si +pi with bij E Z , pi E Z>O.Thus, quasiactive schedules are always integervalued, i.e., QdS ? ~ z:. Consequently, if there exists a feasible schedule, then there is an integer-valued optimal schedule, i.e., S # 0 exactly if O S n Z;Z2 - # 0. ( c ) As has been shown by Neumann et al. (2000), the decision problem whether a given schedule is active is NP-hard. Since the same holds for semiactive and even for pseudoactive schedules, exact algorithms for PSltemplC,, are generally based on the (partial) enumeration of the set QdS of quasiactive schedules (cf. Section 2.5). The quasiactivity of a schedule S can be verified in polynomial time by computing the (unique) minimal point minST(O(S)) of schedule polyhedron ST(O(S)). &call that schedule S is quasiactive exactly if S = minST(O(S)).
+
(2.4.11) Example. We again consider the project given by the AoN network of Fig. 2.4.1. As can be seen in Fig. 2.4.3, schedule S' is (one of the two) minimal points of S and thus active. Schedule S2 is semiactive because S2 is minimal point of a component of S . Being a local minimal point, S3 is a pseudoactive schedule. The Gantt chart in Fig. 2.4.4 belonging t o schedule S4 shows that
2.5. Branch-and-bound and truncated branch-and-bound methods
45
activity 1 starts at the completion of activity 5 and that activity 2 starts at the completion of activity 1. Thus, a left-shift of activities 1 or 2 would not preserve strict order O(S 4 ). Accordingly, schedule S 4 is quasiactive. Notice • that S4 is not a local minimal point of S. In Section 3.2, we will introduce additional types of shifts and sets of schedules and discuss the connection between these individual sets of schedules on the one hand and special points of the feasible region S on the other hand.
2.5
Branch-and-bound and truncated branch-and-bound methods
In this section, we develop a branch-and-bound procedure for solving problem PSltemplC,,, which is based on the concept of forbidden sets (for the basic elements of a branch-and-bound method, we refer t o Nemhauser and Wolsey, 1989, Sect. 6.8, and Nemhauser and Wolsey, 1999, Sect. 11.4.2). Each node of the enumeration tree (enumeration node) corresponds t o a timefeasible strict order 0 with associated schedule S = minST(0), where for the root node, we have 0 = 0. Strict orders of child nodes form proper supersets of the strict order belonging to the parent node. If schedule S is feasible, the enumeration node is a leaf of the enumeration tree. The enumeration scheme of a branch-and-bound algorithm determines which set of time-feasible strict orders is enumerated in the course of the algorithm if complete enumeration is performed. In order to reduce the number of orders that have t o be investigated, preprocessing methods can be used, which provide temporal constraints between activities being satisfied by optimal schedules. The enumeration can then be restricted to orders complying with those constraints. For each strict order 0 , lower bounds on the minimum project duration with respect to all feasible schedules S E ST(0)can be computed. If such a lower bound is greater than or equal to the project duration of the best feasible schedule generated thus far, then the enumeration node of 0 and all of its descendant nodes can be removed from the enumeration tree. For large projects with hundreds of activities, in general, optimal schedules cannot be computed within a reasonable amount of time. That is why we consider several heuristics which arise from tmncating the branchand-bound algorithm. Finally, we sketch alternative enumeration schemes of branch-and-bound algorithms for PSltemplC,, which have been proposed in literature.
2.5.1
Enumeration scheme
We first sketch the basic principle of a branch-and-bound algorithm for PSltemplC,, that has been proposed by De Reyck and Herroelen (1998a).
46
Ch. 2. Minimization of Project Duration
If we omit the "difficult" resource constraints of PSI templC,,,,, we obtain the resource relaxation PSwltemplC,,of PSltemplC,,, which coincides with problem (1.3.1) of finding a time-optimal schedule. Consider an optimal solution S to the resource relaxation, for example, S = minSr = E S . Since S is in general not resourcefeasible, resource conflicts occur at certain points in time t , i.e., A ( S ,t ) represents a forbidden set: rik i€d(S,t)
> Rk for some k
ER
(2.5.1)
Resource conflict (2.5.1) caused by the simultaneous execution of activities i E A ( S ,t ) can be resolved by introducing a precedence constraint i + j for each minimal forbidden subset F' C A ( S , t ) , which prevents activities i ,j E F' from all being in progress at the same time. Accordingly, the forbidden active set F = A ( S ,t ) has to be decomposed into a feasible set A and a set B of activities to be delayed, a so-called delaying alternative for A ( S ,t ) .
(2.5.1) Definition. Let F be a forbidden set. B C F is called a delaying alternative for F, if F \ B is a feasible set. If additionally B is minimal with respect to set inclusion, we speak of a minimal delaying alternative for F, i.e., no proper subset B' c B is a delaying alternative for F.
B 2 F is a minimal delaying alternative for F exactly if F\B is a maximal feasible set. For verifying the minimality of a delaying alternative B , it is obviously sufficient to consider all sets B' c B which result by deleting one activity j from B. Hence, a set B is a minimal delaying alternative for a forbidden set F exactly if rik
5 Rt
for all k E R
i€F\B
C
Tik
+ Tjk > ~k
for all j E B and some k E
R
(2.5.3)
iEF\B
(2.5.2) says that B is a delaying alternative. (2.5.3) implies that all proper supersets of F \ B are forbidden sets, i.e., there is no delaying alternative B' C B. In general, the number of minimal delaying alternatives B for a forbidden set F grows exponentially with the cardinality of F. In what follows, we use the following simple recursion for computing minimal delaying alternatives for a forbidden set F. For a given delaying alternative B, the set f3 of all minimal delaying alternatives B' E B for F is either ( B }if B is a minimal delaying alternative for F or the set of all minimal delaying alternatives B' g B \ (2) for F with i E B. To avoid the multiple generation of one and the same minimal delaying alternative B' (as subset of two diierent sets B \ {illand B \ { i 2 ) ) ,we restrict the recursion to subsets
2.5. Branch-and-bound and truncated brmch-and-bound methods
47
B' of B \ { i } for which j > i holds for all j E ( B \ { i ) ) \ B'. Since F itself is a delaying alternative, which includes all minimal delaying alternatives for F, we start the recursion with B = F. Algorithm 2.5.2 shows the corresponding recursive procedure, where i = 0 if B = F at recursion level zero and i is the number of the activity removed in the immediately preceding call to the recursion, otherwise. A call t o MinimalDelayingAIternatives(F,O,@) determines the set 17 of all minimal delaying alternatives for forbidden set F. (2.5.2) Algorithm: MinimalDelayingAlternatives(B, i, B).
I f B is a delaying alternative for F then I f B is a minimal delaying alternative for F then T3 : = B u { B ) Else For all j E B with j > i do MinimalDeIayingAItematiwes(B \ { j ) ,j, B) End (*for *) End (*if *) End (tif r ) 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 = { i l , i 2 ,... ,i,). The procedure constructs a binary decision tree, where each level p = 1,. . . , v corresponds t o the decision whether or not activity i , is contained in the respective child node, and each node at level /L corresponds to some feasible set A' 5 (21, iz,. . . , i,). Exh leaf of the decision tree belongs t o one feasible set. (2.5.3) Example. We consider the project given by the project network N of Fig. 2.5.1 already depicted in Fig. 2.1.1. We assume that three units of the single resource are available, i.e., R = 3. If the project were executed according to the earliest schedule ES, activities 1, 2 , and 3 would be in execution at time t = 1 (cf. Fig. 2.1.2). Since the total resource requirement r ( E S ,1) = rl rz rs = 5 at time t = 1 exceeds the capacity of the resource, set F = {1,2,3) is forbidden. F is not minimal forbidden because F' = { 2 , 3 ) c F is forbidden, too. We apply Algorithm 2.5.2 in order to compute set B of all minimal delaying alternatives B for F. Table 2.5.1 shows, in the order of execution, the recursion level and the parameters for each call t o procedure MinimalDelayingAltematives. The last two columns indicate whether or not B is a (minimal) delaying alternative. We note that there may be activities in set F which do not belong to any minimal delaying alternative B E B (activity 1 in the present example). Furthermore, it can be shown that for a given activity j' E F, it is NP-complete
+ +
Ch. 2. Minimization of Project Duration
48
Figure 2.5.1: Project network N with a single resource
Table 2.5.1: Calls t o MinimalDelagringAltematives Level
0 1
2 2 1
2 I
B {1,2,3) {2,31 (31 (2) {1,3) (11 {l~}
i 0 1
2 3 2 3 3
a
B is del. alt. B is min. del. alt. yes no 0 yes no 0 0 yes yes ((311 yes yes {{3),{2)1 yes no {{3),{2}1 no {{31~211 yes no
to decide upon the existence of a minimal delaying alternative B E containing j*.
a for F
(2.5.4) Proposition. The problem of testing whether for a given forbidden set F and activity j* E F, there is a minimal delaying alternative B for F containing j* is NP-complete.
Proof. For a given set B containing activity j*,it can be verified in O(IFIIRI) time whether or not B is a minimal delaying alternative for F by evaluating inequalities (2.5.2)and (2.5.3).Thus, the decision problem in question belongs t o NP. In what follows, we assume that 172 = 1 and omit the resource index k. Let B with j' E B be an arbitrary set of activities using the single resource. Then B is a minimal delaying alternative if and only if R - minjGBrj < CiEqBri 5 R. For rj. = 1, we then have rj. = minjGs rj and thus R - 1 < CiEFjB ri 5 R, i.e., xi,,\, ri = R. Hence, there is a minimal delaying alternative B containing j ' exactly if there is a set A F \{j*) with CiEA ri = R. NOW let I be an instance of problem SUBSET SUM with index set Z, sizes s ( i ) E M for i E 1,and threshold M E M (cf. Garey and Johnson, 1979). We obtain an equivalent instance of our decision problem by choosing F = Z U{j*), ri = s(i) for all i E Z, r? = 1, and R = M.
2.5. Branch-and-bound and truncated branch-and-bound methods
49
Similarly it can be shown that it is also NP-complete t o decide whether a given activity j" is contained in some minimal forbidden set F E F (cf. Stork and Uetz, 2001, who devise a polynomial reduction from PARTITION). The following lemma (cf. Schwindt, 1998a) links the concepts of minimal forbidden sets and minimal delaying alternatives. (2.5.5) Lemma. A minimal delaying alternative B for a forbidden set F is an inclusionminimal set containing a t least one activity j of each minimal forbidden set F' C F.
Proof. We assume that there is a minimal delaying alternative 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 forbidden set is forbidden, this contradicts the fact that F' is forbidden.
>
As a consequence of Lemma 2.5.5, any time-feasible strict order 0 containing a pair ( i ,j ) with i E F \ B for each activity j of a minimal delaying alternative B for forbidden set F breaks up F. In what follows, we show that we can restrict ourselves to time-feasible strict orders resulting from precedence constraints between one fixed delaying activity i E F \ B and all activities j E B. (2.5.6) Definition. A pair (2, B) where i E F \ B, F is a forbidden set, and B is a minimal delaying alternative is called a minimal delaying mode for F . ( 2 . 5 . 7 ) Theorem. Let F be a forbidden set. For each feasible schedule S E S, there is a minimal delaying mode (i,B ) for F satisfying
Proof. Let S be a feasible schedule. Since O ( S ) is a feasible strict order, Theorem 2.3.10 implies that for all minimal forbidden subsets F' of F , there are two activities i, j E F' with Sj - Si 2 pi. Then by Lemma 2.5.5, there is a minimal delaying alternative B for F such that for each activity j E B , there exists an activity i, E F \ {j} with Sj Si, +pi2. Now let i E F \ {j} such that Si +pi = minj,~(Si, +pi,). Since pi, > 0 for all j E B, i can be chosen to be in set F \ B. As a consequence, schedule S satisfies Sj 2 St +pi for all j E B and some i E F \ B.
>
Notice that in the proof of Theorem 2.5.7, we have not referred t o the objective function of problem PSltemplC,,,,. Hence, Theorem 2.5.7 holds true for any objective function to be minimized. In Section 2.10 and
50
Ch. 2. Minimization of Project Duration
Chapter 3, we will deal with objective functions different from the project duration and again exploit Theorem 2.5.7. For an alternative proof of Theorem 2.5.7, see De Reyck and Herroelen (1998a). As mentioned in Section 2.3, a time-feasible schedule S is feasible exactly if strict order O(S) is feasible, that is, if all minimal forbidden sets F E 3 are broken up by strict order O(S) (cf. Remark 2.3.11). Obviously, all sets F E 3 are broken up by O(S) precisely if all active sets A(S, t) with t 2 0 are feasible ( S partitions any minimal forbidden set F with F A(S, t) for all t 2 0 into feasible subsets). Accordingly, when resolving resource conflicts for some schedule S $ SR, we necessarily have to break up a forbidden set F that coincides with (a subset of) active set A(S,t) at some time t 0. The search for such a time t can obviously be restricted to start times Si of activities i E V. Theorem 2.5.7 now suggests the following procedure for enumerating feasible schedules S. Let R denote a set of timefeasible strict orders in set V and I? be the set of feasible schedules enumerated. Starting with R = 10) (which contains the time-feasible strict order 0) and I? = 0, in each iteration we remove a strict order 0 from R and determine a schedule S E S T ( 0 ) minimizing the project duration, e.g. the (unique) minimal point minST(0) of polyhedron ST(O). Schedule S = min ST(0) can be determined by computing the longest path lengths from node 0 to all nodes i E V in order network N ( 0 ) (cf. Remark 2.4.8). If S is feasible, we put r := r U{S) (notice that in contrast to the schedule-induced strict order O(S), strict order 0 is not necessarily feasible). Otherwise, there is a time t 0 such that active set A(S, t ) is forbidden, and we compute all minimal delaying modes (i, B) for A(S, t). The corresponding strict orders Of = t r ( 0 U{(i,j) I j E B)) are added to set R (note that we j ) I j E B) because p is take the transitive hull tr(p) of relation p = 0 U {(i, generally not transitive). Orders 0' break up the forbidden active set A(S,t ) at time t. We then take a new strict order 0 from R and determine the next schedule S= minST(0). We reiterate these steps until all strict orders 0 E R have been investigated, i.e., R = 0. The corresponding procedure is given by Algorithm 2.5.8.
>
>
(2.5.8) Algorithm: Enumeration scheme for PSlternp(C,,.
Initialize set of orders R := {I and } set of candidate schedules I? := 0 Repeat Remove an order 0 from set R Determine schedule S = minST(0) If S is resourcefeasible t h e n I? := I? U{S) Else Determine a point in time t such that A(S, t) is forbidden Compute set B of all minimal delaying alternatives B for A(S, t), that is, d o
2.5. Branch-and-bound and truncated branch-and-bound methods
51
l3 := 0,MinimalDelayingAltenaatives(A(S, t), 0, B) For all B E B d o t) \ B d o For all i E A(S, Introduce precedence relationships between i and all activities j E B, that is, put 0' := tr(0 u {(i, j) I j E B)) If &(Of)# 0 t h e n R := R U{O ) f
E n d (*for *) E n d (*for *) E n d (c if *) Until R = 0 Return r (2.5.9) Proposition. Let r be the set of candidate schedules generated by Algorithm 2.5.8. Then (a) The enumeration scheme of Algorithm 2.5.8 is complete. In other words, the algorithm does not generate any optimal schedule precisely if there is no optimal schedule, i.e., I? n US = 0 if and only if OS = 0. (b) All schedules generated by Algorithm 2.5.8 are quasiactive, i.e., r g
&AS. (c)
Algorithm 2.5.8 terminates after a finite number of iterations.
Proof. (a) Clearly, the order polyhedron ST(@) = ST associated with the initial strict order 0 = 0 is a superset of the feasible region S and thus S = ST(0)fl s. Now let S = min ST(0)4 SR be some resource-infeasible schedule enumerated in the course of Algorithm 2.5.8. Then there is a t) is forbidden. Let l3 be the set time t such that active set F = A(S, of minimal delaying alternatives for F. Then Theorem 2.5.7 says that the union over all minimal delaying modes ( a , B)for F of the respective with O = tr(0 U{(i,j ) I j E B))contains all order polyhedra ST(O1) i.e., UBEsUtEF\B(S~(O') n S)= ST(0)nS. feasible schedules of ST(0), Since in addition the enumerated schedules S = minS~(0) minimize there is a t least one optimal canthe project duration in sets ST(O), didate schedule S E r provided that S # @.In Remark 2.1.2 we have noticed that US # 0 exactly if S # 0. Thus, U S # 9) implies USnr # 0. Conversely, all enumerated schedules are tirne-feasible and all candidate schedules S E I? are resource-feasible and thus feasible. Consequently, from US = 0 it follows that I? = 0. (b) Each schedule S E r is the minimal point of some order polyhedron ST(O)and feasible. Due t o O(S) 0 and thus ST(O(S))ST(O), it that S is the minimal point of its schedule follows from S E ST(O(S)) as well. Theorem 2.4.9d then implies S E &AS. polyhedron ST(O(S)) f
>
c
52
Ch. 2. Minimization of Project Duration
0 is removed from set R and a finite number of strict orders 0' with 0' > 0 are added t o R. Since the cardinality of any strict order in set V is bounded from above by (n l ) ( n 2 ) / 2 , this implies that the number of iterations performed by Algorithm 2.5.8 is finite.
( c ) In each iteration, a strict order
+
+
We return t o the PSltemplC,, instance with one resource introduced in Example 2.5.3 (cf. Fig. 2.5.1), where we again assume that the capacity of the single resource is R = 3. (2.5.10) Example. After the initialization of set R = ( 0 ) of strict orders and set r = 0 of candidate schedules, we start with the first iteration of Algorithm 2.5.8. For 0 = 0, we obtain schedule S = m i n S T ( 0 )= E S , cf. Fig. 2.5.2a. At time t = 1 , the resource requirement r ( S , 1 ) = 5 for executing active set A ( S , 1 ) = { 1 , 2 , 3 ) exceeds the resource capacity R = 3. The set of minimal delaying alternatives for { 1 , 2 , 3 ) is B = ( ( 2 1 , ( 3 ) ) (cf. Example 2.5.3). From the corresponding minimal delaying modes (1, { 2 ) ) , (3, { 2 ) ) , ( 1 , { 3 ) ) , and ( 2 , { 3 ) ) , only mode (3,121) leads to a timefeasible strict order, which is added t o set R. In the next iteration, we have 0 = { ( 3 , 2 ) } , and the corresponding schedule S = min S T ( 0 )is S = (0,0,2,0,3,8, l o ) , cf. Fig. 2.5.2b. Now the active set A ( S , 3 ) = { I , 2,4} a t time t = 3 is forbidden. The set of minimal delaying alternatives is B = ((21, ( 4 ) ) . Again, only one of the four respective minimal delaying modes (1, { 2 } ) , (4, { 2 ) ) , ( 1 , { 4 ) ) , and (2, (4)) complies with the temporal constraints, namely (4, ( 2 ) ) . Hence, order { ( 3 , 2 ) ,( 4 , 2 ) ) is added t o set R. We proceed with the next iteration, where 0 = { ( 3 , 2 ) ,( 4 , 2 ) ) and S = min S T ( 0 ) = (0,4,7,0,3,8, l l ) ,cf. Fig. 2.5.2~.At the start of activity 5 at t i e t = 8 , five units of the resource are required for processing x t i v e set A ( S , 8 ) = { 1 , 2 , 5 ) . For the set of minimal delaying alternatives, we obtain L? = { { 1 , 2 ) , ( 5 ) ) and three corresponding minimal delaying modes ( 5 , { 1 , 2 ) ) , (1, { 5 ) ) , and (2, ( 5 ) ) . Only (5, { 1 , 2 ) ) leads to a time-feasible strict order, i.e., R := { { ( 3 , 2 ) ,( 4 , 2 ) ,(5, I ) , ( 5 , 2 ) ) } . In the succeeding iteration, the schedule belonging to order 0 = { ( 3 , 2 ) ,( 4 , 2 ) ,( 5 , I), ( 5 , 2 ) ) is S = (0,10,11,0,3,8,16),cf. Fig. 2.5.2d. S is resourcefeasible, and thus S is added to the set r of candidate schedules. Since set R is void, Algorithm 2.5.8 terminates with r = { S ) . From Proposition 2.5.9 it follows that S is an optimal and quasiactive schedule. Fig. 2.5.3 shows network N ( 0 ) belonging to strict order 0 = { ( 3 , 2 ) ,( 4 , 2 ) ,(5, I ) , ( 5 , 2 ) ) . The longest path lengths in N ( 0 ) from node 4 t o node 5 and from node 5 to node 4 equal 3 < p4 = 4 and -5 < pg = 2, respectively. Hence, strict order 0 is not feasible since it does not break up (minimal) forbidden set F = { 4 , 5 ) .
In Subsection 2.5.6, we will deal with alternative enumeration schemes that have been proposed in literature.
53
2.5. Branch-and-bound and truncated branch-and-bound methods (a) 0 =
0
(b) 0 = {(3,2))
5
10
5
10
15
Figure 2.5.2: Gantt charts for schedules belonging to enumerated orders 0
Figure 2.5.3: Network N(0) for 0 = {(3,2), (4, Z), ( 5 , l ) ,(5,Z))
2.5.2 Preprocessing Preprocessing refers to a phase between formulation and actual solution of a problem, which may consist of adding inequalities, tightening bounds on variables, fixing variables, etc. If preprocessing is applied at enumeration nodes different from the root node, we also speak of constraint propagation. The additional constraints then refer to the search space of the respective enumeration node. In our case, an enumeration node corresponds to a strict order 0 in activity set V and the search space is ST(O).
54
Ch. 2. Minimization of Project Duration
For PSlternplC,,, the preprocessing phase consists of introducing temporal constraints Si - Sh 2 (bh E Z) that arise from resolving resource conflicts caused by two-element forbidden sets {i, j ) . By adding such temporal constraints, the set of time-feasible schedules ST gets smaller and the lower bound ES,+l on the shortest project duration, which is also denoted as LBO, increases. We consider all two-element forbidden sets {i, j ) C V with d,j < pi and dji < p,, that is, activities i and j may overlap if we disregard the resource constraints. Note that due to SR # 0,all two-element forbidden sets are minimal. In case (a) we assume that for forbidden set {i, j ) , it holds that
&A1
I
0
I
I
I
ESj
LS,
ES, + p j
-
t
Figure 2.5.4: Resolving a resource conffict - case (a) (cf. Fig. 2.5.4). Since activities i and j must not overlap, a right-shift of activity j or a left-shift of activity i has to be performed such that activity j starts a t the termination of activity i at the earliest. In other words, the precedence constraint +pi
sj > si
has to be satisfied. Notice that the latest start time LSi in (2.5.5) can be based on any upper bound UB on the shortest project duration, for example, UB = with given by (2.1.3). Recall that establishing the upper bound UB as maximum project duration means that a maximum time lag = UB is given, which corresponds to an arc (n 1,O) in temporal scheduling network N+ with weight 6,+l,a = - UB. Then LSi equals the negative longest path length -djo in network N+. By expressing LSi and E S j in terms of longest path respectively, in network N+, inequality (2.5.5) reads as lengths -do and hjr -die < doj pj, i.e., din do, > -pj. In case (b) we assume that for forbidden set {i, j ) it holds that
a
+
+
@'zl
+
Inequality (2.5.6) says that S, -Si 2 d j > -pj, i.e., Sj + p j > Sj (cf. Fig. 2.5.5). Again, because activities i and j must not overlap, a right-shift of activity j or a leftshift of activity i has to be performed such that temporal constraint S, Si +pi is satisfied. Now let { a , j } be a forbidden set satisfying
>
2.5. Branch-and-bound and truncated branch-and-bound methods
55
Figure 2.5.5: Resolving a resource conflict - case (b) inequality (2.5.5). Then we have dij 2 dio + do, > -p,, that is, inequality (2.5.6) is met. Thus, case (a) is included in case (b), and we have proved the following theorem (cf. Brucker et al., 1998, and De Reyck and Herroelen, 1998a). (2.5.11) Theorem. If for a two-element forbidden set {i, j } with &i < pi, we have &i > -pi, then it holds that S, 2 Si +pi for each feasible schedule S with S,+1 5 UB.
Even if for forbidden set {i, j ) , neither d, > -pj nor dji > -pi holds, we nevertheless know that either activity i must precede activity j or activity j must precede activity i. In that case, S must be greater than or equal to S h min(dhi +pi +djr, dhj + p j + &) for all h,I E V and any feasible schedule S E S with S,+l 5 UB. Consequently, we introduce the temporal constraint
+
if inequality
+ +
(2.5.8) dhl < min(dhi pi djl, dhj +pi + dil) is satisfied for activities h, 1 E V and two-element forbidden set {i, j } . For h = i and 1 = j , inequality (2.5.8) reads as dii < min(pi, 2dij pi) or, equivalently, & j < pi and dii > -pi, which corresponds t o the assumptions of Theorem 2.5.11. Hence, the prerequisites of Theorem 2.5.11 are covered by (2.5.8). If h = i and 1 = j,however, the new distance dhl = c & ~can be set equal to pi, which is greater than or equal t o min(p,, 2dij + pi). An additional temporal constraint (2.5.7) corresponds t o the introduction of a new arc (h,I) in network N+ with weight 6i1 = min(dhi + p i djl, dhj pj &I)or, if there is already an arc (h,l)with weight 6ht, of the new arc weight dh (note that in the latter case, it follows from dhl 5 dhl < Sh that the weight of arc (h,1) increases). Preprocessing then consists of introducing new arcs (h,1) or new arc weights b;,, respectively, for all activities h, 1 for which (2.5.8) holds for some two-element forbidden set {i, j ) C V. This results in a modified AoN network, for simplicity again denoted by N+, whose set of timefeasible schedules ST is smaller than that one for the original temporal scheduling network N + . Notice that for the modified network, the values of ESi (and thus the lower bound LBO = ES,+l) are generally larger and the values of LSi are generally smaller than for the original temporal scheduling
+
+
+
+
Ch. 2. Minimization of Project Duration
56
network. If the modified network contains a cycle of positive length, i.e., dij dji > 0 for some i, j E V , there is no time-feasible and thus no feasible schedule S with S,+I5 UB (compare Theorem 1.3.3). In the latter case we say that preprocessing rejects the upper bound UB. Generally, preprocessing results in new values of the distances d ~ Af. ter that, inequalities (2.5.8) can again hold for some activities h, 1 6 V and forbidden set {i, j ) . The aim of preprocessing is to break up as many twoelement forbidden sets as possible. In general, arcs (h, I ) added due t o inequalities (2.5.8) do not break up any forbidden set. Larger distances dhl, however, may allow (possibly in later iterations) the increase of some distances dij belonging to forbidden sets {i, j ) such that dij > -p, and thus {i, j ) can be broken up. Therefore, the preprocessing phase generally consists of several (at most n(n- 1)/2) iterations until no more precedence constraints S, 2 S i + p i can be introduced. After the last iteration, the distances dij (a, j E V ) that do not satisfy the triangle inequality (1.3.3) are appropriately increased by using the Floyd-Warshall triple algorithm. The preprocessing algorithm is as follows.
+
(2.5.12)Algorithm: Preprocessing( UB). Compute longest path lengths 4, ( 2 , j E V) in temporal scheduling network N+ with 6,+1,0 = - UB Determine set P of all two-lement forbidden sets {i, j} with dij < pi and dji < pj stop :=false W h i l e ?' # 0 a n d n o t stop d o stop := true For all {i, j ) E P d o Forall h,l ~ V d o If dhl < min(dhi pi dji, dhj pj dir) t h e n If dij 5 -pj a n d dji 5 -pi t h e n dhl := min(dhi + p i +djl,dhj + p j + & ) Else If di, > -pj t h e n dhl := dhi pt djl Else dhl := dhj p, dil E n d (* if *) E n d (* if *) If h=l a n d dhl > 0 t h e n r e t u r n false (*there is no feasible schedule S with 5 UB *) E n d (*for *) If di, 2 pi t h e n stop := false, T := P \ { { i , j } } E n d (*for *)
+ +
+ +
+ +
+ +
2.5. Branch-and-bound and truncated branch-and-bound methods
57
E n d (*while *) For all h , i , j E V d o If d, < dih dhj t h e n dij := dih dhj If i = j a n d dij > 0 t h e n r e t u r n false E n d (c for *) R e t u r n true
+
+
The computation of the longest path lengths in temporal scheduling network N+ can be done in 8(1VI3) time. The determination of all two-element forbidden sets requires 8(IRllV12)time. In each iteration aside from the last, at least one precedence constraint S, 2 S, p, is added. Since p, > 0 for i = 1,. . . , n , we obtain a cycle of positive length when at most n ( n - 1)/2 1 precedence constraints have been added. Thus, the time complexity of Algorithm 2.5.12 is e)(max(l'RJJV12, IVI6)). It is recommended to perform the preprocessing phase at the beginning of a branch-and-bound or truncated branch-and-bound algorithm. We illustrate preprocessing by the following example.
+
+
(2.5.13) Example. We consider the project given by the AoN network of Fig. 2.5.6 and assume that there are three units of the single resource available, i.e., R = 3. Furthermore, we choose the upper bound UB on the minimum project duration to be d = 13 (cf. (2.1.3)). The corresponding longest path lengths dij for i, j E V in network N + are listed in Table 2.5.2. The set of all two-element forbidden sets {i,j) with dij < pi and dji < pj equals P = {{1?2}>{1,31> {1,41? {1,5}, {2,31, {3,4}}.
Figure 2.5.6: Project network N with a single resource j) = In the first iteration, inequality (2.5.8) holds for forbidden set {i, {2,3} in combination with activities h = 1, 1 = 3, and h = 2, 1 = 3. We obtain the new distances d13 = -4 and dZ3= 1. Since dz3 2 pz, set {2,3} is deleted from 7 . For forbidden set { a , j) = {3,4), we obtain the new
58
Ch. 2. Minimization of Project Duration
Table 2.5.2: Longest path lengths
d,
distances h5= 4, & = 6 , dl5 = -1, d20 = - 7, d21 = -4, d25 = 4, a26 = 6, and dss = -9. Table 2.5.3 shows the new longest path lengths, where bold entries correspond to increased distances.
Table 2.5.3: Longest path lengths &, after first iteration
In the second iteration, testing inequality (2.5.8) for forbidden set {i, j}= {1,5) leads to new distances d15 = 1, d16 = 3, and dlo = -10. Since no additional forbidden set { i ,j) E F' satisfies (2.5.8) for some activities h, 1 E V, the second iteration is completed. The resulting longest path lengths after the second iteration are shown in Table 2.5.4.
Table 2.5.4: Longest path lengths dij after second iteration
In the third iteration. no further distance can be increased. Since the
2.5. Branch-and-bound and truncated branch-and-bound methods
59
computed distances satisfy the triangle inequality, the algorithm terminates with returning true, that is, the upper bound UB = 13 is not rejected. In Subsection 2.5.7, we will sketch alternative preprocessing methods that have been used for constraint propagation in branch-and-bound algorithms.
2.5.3
Lower bounds
Lower bounds on the shortest project duration are needed for branch-andbound and truncated branch-and-bound algorithms. As we will see in Section 2.8, good lower bounds are also required for an experimental performance analysis of heuristic solution procedures. Thus, we briefly discuss how to find such bounds. For alternative lower bounds, we refer to Heilmann and Schwindt (1997), De Reyck and Herroelen (1998a), Mohring et al. (1999), and Brucker and Knust (2003). The latter two references will be discussed in more detail in Subsection 2.5.8. In Subsection 2.5.2, we have already mentioned the lower bound LBO := ES,+l, which represents the shortest project duration of the resource relaxation of PSI templC,,,,, (that is, we omit the resource constraints). If we split the activities into subactivities of resource requirements one, allow the interruption of subactivities, and delete the temporal constraints, each resource k E R requires CiEV rikpi/Rt time units for processing all subactivities. If in addition we take into account that for S # 0 there exists an integral optimal schedule (cf. Remark 2.4.10b), we obtain the lower bound
LBR := max kER
I
1
~..R/R~ zEV
Of course, max(LB0, LBR) represents a lower bound at least as tight as LBO and LBR. Lower hounds which result from relaxations of PSltemplC,, are called constructive lower bounds. We speak of a destructive lower bound LBD if the lower bound arises from showing that there is no feasible schedule S with < LBD (cf. e.g. Klein and Scholl, 1999). Destructive lower bounds can be determined by the following algorithm, which uses the preprocessing from Subsection 2.5.2. LB,,,, = max(LB0, LBR), and We start with a lower bound LB,,,,,, e.g. an upper bound UBatnrt,e.g. UBStavt= d. If LB,,,, > UBstaVt,there is no feasible schedule. In each iteration of the algorithm, we take a new upper bound d on trial, which is halfway between the current lower and upper bounds L B and UB, respectively: This means that the weight of arc ( a + 1,0), which originally equals - UB, is changed into bn+l,o:= -d. Then, we perform the preprocessing phase
Ch. 2. Minimization o f Project Duration
60
as described in Subsection 2.5.2. If preprocessing rejects the upper bound d, LB := d+l represents a new (destructive) lower bound. In this case, we again choose a new upper bound according to (2.5.9) on trial and proceed as above. If preprocessing does not reject the upper bound d, LB := max(LB,ES,+l) and UB := d - 1 are regarded as new lower and upper bounds, respectively, where ESn+I is the shortest project duration computed in the last preprocessing iteration. Next, a new upper bound d according to (2.5.9) is taken on trial, and we proceed analogously. In each iteration, the set {d 1, d + 2,. . . , UB} is further examined if preprocessing rejects d, otherwise set { L B , LB + 1 , . . . , d - 1) is further examined. The algorithm terminates as soon as LB > UB. It may happen, if the new upper bounds d are permanently rejected, that we eventually obtain d = UBStart.In that case, we reject UBatartas well, that is, there does not exist any feasible schedule. In summary, the algorithm determines LBSt,,t 1,. . . , UBStart} that the least upper bound UB within set {LBStalt, is not rejected by preprocessing, if such a UB exists, and a corresponding lower bound using binary search. This requires at most 1 rlog2(UBstaltLB,t,,t 1)l iterations. The algorithm is then as follows.
+
+
+
+
(2.5.14) Algorithm: Destructive lower bound on shortest project duration.
L B := LBst,t, UB := UB,tart While LB 5 UB do d := [ ( L B+ UB)/21 Perform preprocessing in network Nt with 6,+1,D = -2, that is, do Preprocessing (d) If preprocessing rejects d then If d = UBStartthen terminate (*there is no feasible schedule *) Else LB := d + 1 Else UB := d - 1, LB := rnax(LB,ESn+l)(* ESn+I from preprocessing *) End (* if *) End (*while *) LBD := LB Return LBD After the computation of all minimal forbidden two-element sets, a call to the preprocessing algorithm requires 13(IVI6)time. Since Algorithm 2.5.14 - LBStart 1)l iterations, the time cornperforms at most 1 [logz(UBstaTt plexity for computing lower bound LBD is O(ma~[l'R11V1~, lVI6log( UB,tartLBstart)]).
+
+
61
2.5. Branch-and-bound and truncated branch-and-bound methods
For large projects, minimal forbidden sets generally contain more than two activities, and thus the effectiveness of preprocessing (and as a consequence, the tightness of the destructive lower bound) is limited. If the project under study consists of hundreds of activities, the following constructive workload-based lower bound LBW may be more expedient. Let [a, b[ R>c, be a half-open interval with a < b. Then for any time-feasible scheduleS with 5 UB, activity i E V is processed in interval [a, b[ during a t least p,(a, b) := (min(b - a,pi, ES, +pi - a, b - LS~))'
(2.5.10)
time units, where (z)+ := max(z, O), cf. Fig. 2.5.7.
I
0
I
a
1
LS;
1
1
ESi +pi b
*t
Figure 2.5.7: Lower bound on workload in interval [a, b[ Thus, is a lower bound on the workload CiEvrik(min(b- a,pi, Si +pi - a, b - St))+ to be processed by resource k E R in time interval [a, b[ for any time-feasible 5 UB. We consider the special case where b = m . schedule S E ST with Then wk(a,m ) = CiEv rik(min(pi,ES, +pi - a))+is independent of the latest start times LSi of activities i E V and thus independent of upper bound UB on the minimum project duration. Since wk(a,b)/Rk is the minimum time resource k needs for processing workload wk(a,b) and because the minimum project duration is always integral, LBW := max(ES, 3Ev
+ max [wk(ESj,m)/Rk] )
(2.5.12)
kER
is a lower bound on the minimum project duration provided that S # 0. For j = 0, it holds that ESj = 0 and wk(ES,, m ) = rikpi and for j = n+ 1, we have ESj = ES,+l and wk(ESj,m) = 0. Thus, LBW includes both lower bounds LBR and LBO, i.e., LBW 2 max(LBR,LBO). By ordering activities j E V according to nondecreasing earliest start times ESj as well as according to nondecreasing earliest completion times E C j = ESj pj, LBW can be computed in O(IRIIV1log 1V1) time. We illustrate the computation of lower bounds for the project of Example 2.5.13 depicted in Fig. 2.5.6 with a single resource of capacity R = 3.
xi,,,
+
62
Ch. 2. Minimization of Project Duration
(2.5.15) Example. Upper bound = CiGv max(pi, m a x ( j j ) ~dij) s on the minimum project duration equals 13. The earliest schedule for the project in question is ES = (0,3,0,1,2,3,5), and thus LBO = ES,+l = 5. The total workload CiGv ril,pi of the project sums up to w(0, oo) = 0 3 3 + 4 6 2 0 = 18. Division by R = 3 yields lower bound LBR = 18/3 = 6. The computation of destructive lower bound LBD starts with L B = max(LB0, LBR) = 6 and UB = 13. The first upper bound on trial is d = 10. Since preprocessing does not reject d = 10, we proceed with L B = 6, UB = 10- 1 = 9, and d = 8. Again, the hypothetical upper bound d is not rejected and UB is decreased t o 8-1 = 7. For d = 7, the preprocessing algorithm still returns true, and UB is set equal to 7 - 1 = 6. The next call to preprocessing with d = 6 yields the cycle (0,1,4,6,0) of length 1, and thus d = 6 is rejected. L B is set to be 6 + 1 = 7 and because L B = 7 > UB = 6, the algorithm terminates and returns LBD = 7. For the different earliest start times, we have the following workloads: w(0,m) = 18, w(1,m) = 15, w(2,m) = 13, w(3,m) = 9 , and w(5,m) = 0. Hence, for the workload-based lower bound we obtain LBW = max(0+6, I 5 , 2 + 5 , 3 + 3 , 5 + 0 ) = 7.
+ +
+ + +
+
2.5.4
Branch-and-bound algorithm
The enumeration scheme given by Algorithm 2.5.8 defmes the branching strategy of a branch-and-bound algorithm for PSltemp(C,,. In this subsection, we present the complete branch-and-bound procedure. The branching strategy induces the enumeration tree, which contains all enumerated strict orders 0 as nodes (for simplicity, we identify an enumeration node with its respective strict order 0, cf. Algorithm 2.5.8). Parent nodes 0 and their child nodes 0' = t r ( 0 U ( ( 2 , j ) I j E B}) are linked by arcs from 0 to 0'. A node 0" that is reachable from node 0 in the enumeration tree is a descendant of 0 , and 0 is designated as ancestor of 0". The depth of the enumeration tree is defined as the maximum number of arcs on any path from the root to some leaf. Since on a path from the root to a leaf, the number of elements of strict orders 0 strictly increases and because all enumerated strict orders in set V are asymmetric, the depth of the enumeration tree is bounded from above by n(n - 1)/2. S T ( 0 ) is the search space of node 0. All schedules generated at descendant nodes 0" of 0 are contained in the search space of 0 . Besides the branching strategy, a branch-and-bound algorithm for a minimization problem is characterized by the search strategy (for selecting one of the enumeration nodes generated for further branching), lower bounds on the minimum objective function value for the search spaces of enumeration nodes, and dominance rules which allow the fathoming of enumeration nodes that are dominated by other enumeration nodes.
2.5. Branch-and-bound and truncated branch-and-bound methods
63
The search strategy of the branch-and-bound algorithm is as follows. We always branch from one of the child nodes 0' of the strict order 0 currently selected, that is, we perform a depth-first search. The depth-first strategy can be implemented by simply choosing the set of unexplored orders R to be a stack. The main advantages of depth-first search are that first, this strategy minimizes the memory requirements necessary for storing the part of the enumeration tree given by R and that second, the number of branchiigs for reaching the first leaf 0 of the enumeration tree (and thus often the time for computing a first feasible solution) is minimum. Child nodes 0' are pushed onto stack R according to nonincreasing lower bounds. One drawback of the depth-first search strategy is that typically, two enumeration nodes visited consecutively belong to similar orders, which share a large number of common elements. As a consequence, it may take a long time before any schedule located in a given part of the feasible region is investigated, and thus the algorithm may spend much time in useless parts of the enumeration tree. This shortcoming can be avoided by partitioning the enumeration tree into a given number of subtrees, which are simultaneously traversed according to a depth-first search strategy each (scattered search, cf. Klein and Scholl, 2000). We use two lower bounds. The time-expensive destructive lower bound LBD is only computed at the root node. For each enumeration node O', we first determine S' = minST(O1)and then compute the workload-based lower bound LB(O 1) := LB W, where in (2.5.12) the earliest schedule ES is replaced with S'. Since S' is the earliest schedule for project network N(O1), LB(Of) is a lower bound on the minimum project duration for all feasible schedules in ST(O1). It can easily he shown that LB(O1) is always greater than or equal to lower bound L B ( 0 ) at its parent node 0 and that LB(O1) = S;, if schedule S' is feasible. Since the destructive lower bound LBD for the root is a valid lower bound for node 0' as well, we can delete node 0' if max(LB(O 1 ),LBD) is not less than the current upper bound UB on the minimum project duration. In that case, the search space &(Or) does not contain any feasible schedule S with < UB. Sometimes nodes 0' can be excluded from further consideration because they are dominated by other nodes 0" in the sense that either the absence of feasible schedules in ST(O1') implies the nonexistence of feasible schedules in ST(O1) or the project duration for the best feasible schedule in ST(O") is provably not greater than for the best feasible schedule in ST(O'). The simplest type of dominance between orders is given by the set inclusion of order polyhedra: strict order 0" dominates 0' if ST(O1) &(On). Since such dominance rules define a reflexive relation in the set of orders, one has to ensure by appropriate tie-breakers that "cross-pruning" (that is, an order 0"fathoms order 0' and vice versa) does not occur. The branch-andbound algorithm for PSltemplC,, applies three dominance rules to newly generated child nodes 0' with corresponding minimal delaying mode (i,B).
64
Ch. 2. Minimization of Project Duration
The first dominance rule is as follows (cf. De Reyck and Herroelen, 1998a). We add all activities h E A(S,t) \ B with djh 2 0 for some j E B to set B because they are delayed as well when shifting activities j E B behind the completion of activity i. If there is a minimal delaying alternative B' E L3 with B' C B , strict order 0' is dominated by all strict orders belonging to minimal delaying alternative B'. The second dominance rule refers to a (possibly induced) minimum time lag between xtivity i and some activity if of a delaying mode (i', B ) with the same minimal delaying alternative. If either (a) diti +pi > pi, or (b) di,i + p, = p,, and (as tie-breaker) i' < i, then strict order 0' can be fathomed because the completion time of activity i is greater than or equal to the completion time of activity i'. Whereas the first two rules establish dominance between child nodes 0' of one and the same parent node 0, the third rule, called subset-dominance rule, compares the recent child nodes O with (arbitrary) nodes 0" in set R (cf. Schwindt, 1998a). If R contains a node 0" c 0' that is not an ancestor of O , then node Of can be deleted because ST(O1)L ST(On). Algorithm 2.5.16 shows the branch-and-bound procedure based on the above concepts. First, preprocessing is performed, and the destructive lower bound LBD for the root node is computed. Analogously to the enumeration scheme of Algorithm 2.5.8, in each iteration a strict order O is taken from stack R. S is the corresponding minimizer of the project duration in set ST(O). If S is resource-feasible, a new best solution S := S has been found, and the upper bound UB is decreased to S;,,. Otherwise, the earliest point in time t for which active set A(S, t ) is forbidden is determined, and the corresponding minimal delaying modes (i, B ) are generated. All undominated time-feasible strict orders 0' = tr(0 U{(i,j ) I j E B}) whose lower bound max(LB(O1),LBD) is less than UB are added to a list A. The orders O in list A are then sorted according to nonincreasing values LB(O1) and pushed onto stack R. The iterations are repeated until R becomes void. If UB is less than the initial upper bound ;i 1, a feasible and thus an optimal schedule S has been determined. Otherwise, the feasible region S has been proven to be empty. f
f
f
+
(2.5.16) Algorithm: Branch- and- bound algorithm for PSI t e m p IC,.
IfPrepmcessang(;i) =false t h e n terminate (*there is no feasible schedule *) Compute destructive lower bound LBD by Algorithm 2.5.14 Initialize stack of orders R := 10) and upper bound UB := ;i 1 Repeat Pop an order 0 off stack R and set S := minST(0) If S is resource-feasible t h e n S*:= S and UB := S;,, Else Determine earliest point in time t for which A(S,t ) is forbidden
+
2.5. Branch-and-bound and truncated branch-and-bound methods
65
Compute the set B of all minimal delaying alternatives B for A(S, t ) , that is, do 8 := 0, MinimalDelayingAltematkues(A(S,t), 0, B) Initialize list A := 0 For all B E B do For all i E A(S, t ) \ B do Introduce precedence relationships between i and all activities j E B , that is, put 0' := t r ( 0 U { ( i , j) I j E B)) If 0' is not dominated and ST(O1)# 0 then Determine schedule S1= minST(Ot) Compute lower bound LB(O 1) := LBW with ES = St If max(LB(O1),LBD) < UB then A := A U (0') End (*if *) End (* for *) End (r for *) Push orders 0' from list A onto stack i2 in order of nonincreasing values LB(Of) End (*if *) Until R = 0 If UB = + 1 then terminate (*there is no feasible schedule *) Else return S*
2.5.5
Truncated branch-and-bound methods
If we restrict the search for a feasible schedule t o a part of the enumeration tree, we speak of a truncated branch-and-bound method. Such a heuristic method, which generally does not provide an optimal schedule but only a feasible one, can approximately solve much larger instances of PSI templC,, within a given computing time than a branch-and-bound procedure. In what follows, we briefly discuss several truncated branch-and-bound (for details, we refer to Franck et al., 2001a). methods for PSItemplC,,
(a)
Performance-guarantee algorithm
We speak of a truncated branch-and-bound algorithm A with performance guarantee E (or briefly performance-guarantee algorithm), where E > 0, if the relative error of the objective function value for a feasible solution found by algorithm A is at most E. More precisely, for a minimization problem, let f a ( I ) be the value of the objective function for a feasible solution of problem instance I computed by algorithm A, and let f '(I)be the minimum objective
66
Ch. 2. Minimization ofProject Duration
function value for instance I . Then A is said to have a performance guarantee of s if
fa(') - * ( I ) 5 E for all problem instances Z
f*(4
(2.5.13)
provided that f ' ( I ) > 0. The branch-and-bound algorithm from Subsection 2.5.4 can easily be truncated to an algorithm A with performance guarantee E by initializing upper bound UB according to UB := (1 e ) a 1 and by replacing
+
+
If m a x ( L B ( O f )LBD) , < UB t h e n A := A U ( 0 ' ) in Algorithm 2.5.16 with
+ E ) max(LB(O ),LBD) < UB t h e n A := A U { O f ) Since UB = ( 1 + E ) + 1 and L B ( O f ) 5 2 for all nodes 0' with nonempty If (1
1
, node 0 ' with ST(O1)# 0 is fathomed until a first search space S T ( O 1 ) no feasible schedule S has been determined. As before, we then set UB := S;,, . Let I be the PSltemplC,, instance in question. We consider a node 0' whose search space S T ( O t )contains an optimal schedule. Then it holds that max(LB(O 1 ),LBD) 5 f * ( I ) . If 0' is fathomed, we obtain fa(Z) 5 UB 5 (1 + E ) max(LB(O1),LBD) 5 ( 1 + a ) f ' ( I ) where UB denotes the current upper bound when eliminating node 0' from the search tree. In that case, the relative deviation [ f A ( Z )- f * ( I ) ]f/ * ( I )does not exceed E . If node 0' is added to the enumeration tree, there either exists a fathomed descendant node 0" of 0' such that ST(O") contains an optimal ) schedule or an optimal schedule is generated, i.e., [ f a ( I )- f * ( Z ) ] / f * ( Z= 0 < E . Thus, the above truncation of the branch-and-bound algorithm has a performance guarantee of e.
(b)
Filtered b e a m search m e t h o d
For large problem instances with hundreds of activities, the computation of schedules with maximum relative error of E may be too time-consuming. In what follows, we sketch the truncation of the branch-and-bound algorithm to a filtered beam search procedure (cf. e.g. Morton and Pentico, 1993, Sect. 6.3, and Pinedo, 2001, Sect. 14.3). By cp and ,O < cp we denote the integers corresponding to the filter width and the beam width, respectively. After the generation of all child nodes 0' of current node 0, we compute the corresponding time-feasible schedules St = min ST(O1). Subsequently, nodes 0' are ordered according to nondecreasing project durations S;,,. For the first cp child nodes 0' of 0 , the workload-based lower bound LB(O1)is determined, and the nodes 0' with smallest values of L B ( O 1 )are added
2.5. Branch-and-bound and truncated branch-and-bound methods
67
to the enumeration tree. The remaining child nodes of 0 are excluded from further consideration. For hard problem instances, even a beam width of P = 2 is too large. Let
denote the integer random variable where ?i is uniformly distributed in interval ]O,1] and 6 1. For beam width P, we then choose realizations of p. If p 5 2, the expected value of equals 2 - 1/p. The filter width cp and maximum beam width have to be chosen depending on the number n of activities and the desired maximum number o of leaves of the enumeration tree. In our implementation of the filtered beam search method (cf. Section 2.8), the filter width cp is set equal to rlnnl. Computational experiments with the branch-and-bound algorithm have shown that the depth of the enumeration tree can generally be bounded by n In n. Thus, we choose
>
For example, if u = 10000, we have P = 1.0206 for n = 100 and P = 1.0013 for n = 1000. When performing filtered beam search, there are generally undominated enumeration nodes that are fathomed before a feasible schedule has been found. Thus, filtered beam search may not find any feasible schedule if S # 0,in contrast to the performance-guarantee algorithm. (c)
Decomposition m e t h o d
The bb decomposition method exploits the decomposition theorem (Theorem 2.2.3). We speak of the bb decomposition method, where "bb" stands for truncated branch-and-bound, because we will present a similar decomposition method of the priority-rule type in Section 2.6, which will be called pr decomposition method. Let UC be again the set of nodes of a cycle structure C of project network N and let SC= (Sy)iELI~ be an optimal subschedule for C. Notice that in practice, even the cycle structures of a large project network N generally have a relatively small number of nodes so that optimal subschedules for those cycle structures can be found by a branch-and-bound method within reasonable computing time. Now we consider the subschedule SC for cycle structure C as additional constraint for the whole project network N as follows: Let UC = { i l , .. . , i s ) , where 0 = Sc < Sc < . . . 5 Sc. Then we add the arcs (i,, with weights Jicim+l := s$+? c ( a = 1,.. . , s - 1) as well as the backward arc (is,&) with weight -SE to N. If there is already an arc (i,,i,+l), whose weight cannot be greater than SE+,- SE, we omit the latter arc in order to avoid parallel arcs. This procedure called bb decomposition method 1 corresponds to the introduction of a cycle of length zero which contains all nodes of C and means figuratively speaking that cycle structure C is "pulled taut". Of
68
Ch. 2. Minimization of Project Duration
course, the original arcs of C that do not belong t o the new cycle of length zero are no longer necessary and can be deleted from the network. However, this is generally not done in the decomposition method to save computing time. The introduction of the cycle of length zero can also be viewed a s replacing cycle structure C by a single node or activity c with processing time p, := mwEuc(S: + p i ) and (time-dependent) resource requirements r,k(t) := rk(SC,t) (k E R,0 5 t 5 p,, cf. (2.2.2)).
(2.5.17) Example. Consider the cycle structure C of Fig. 2.5.8, whose nodes are already numbered such that SF 5 S y for 1 5 i < j 5 5. The new arcs of the cycle (1,2,3,4,5,1) of length zero and their weights are shown by bold-line arrows and bold numbers, respectively. For simplicity, the resource capacities and requirements are not given explicitly. It is assumed that SC is an optimal subschedule for C.
in:;
Legend:
-2 2
2 -6
7 4
1
Figure 2.5.8: Cycle structure and corresponding cycle of length zero The introduction of the cycle (ii,i2,.. . ,is,il) of length zero in cycle structure C means that we add the new temporal constraints
to the original temporal constraints for project network N. A slight modification of this procedure called bb decomposition method 2 is that we do not introduce the backward arc (i,,il) with weight -SE, which means that we add the constraints
instead of (2.5.14), that is, cycle structure C is not completely pulled taut. Constraints (2.5.15) also resolve the resource conflicts in cycle structure C and additionally permit us t o shift the activities of C in a certain way. This adds some "flexibility" to the decomposition method and sometimes provides "better" feasible schedules for the whole project network N. Let be the AoN network obtained from the original project network N by introducing the additional arcs for all cycle structures C of N as just
N
2.5. Branch-and-bound and truncated branch-and-bound methods
69
described. The last part of the bb decomposition method consists of finding a feasible schedule for and thus for N as well by applying a (heuristic) procedure, for example, a performance-guarantee algorithm. By choosing an appropriate search strategy, a feasible schedule can be determined without having to perform backtracking (cf. Schwindt, 1998a).
2.5.6
Alternative enumeration schemes
Algorithm 2.5.8 discussed in Subsection 2.5.1 corresponds to the enumeration that has been scheme of a branch-and-bound algorithm for PSltemplC,, devised by De Reyck a n d Herroelen (1998a). The latter algorithm is also briefly discussed in Demeulemeester and Herroelen (2002, Ch. 7, Subsect. 1.2). A variant of the enumeration scheme has been used by Cesta et al. (2002) for a multi-pass heuristic, where minimal delaying mode (i, B) is replaced with a pair (2, j) such that the addition of (i,j) to strict order 0 breaks up some selected minimal forbidden set F. Set F is chosen from a A(S,t ) given number of sampled minimal forbidden sets F' E 3 with F' for some t 2 0. F is one of the sampled minimal forbidden sets with minimum "temporal flexibility" in terms of total slack times TFh with h E F, and pair (i, j) is chosen such that the resulting temporal flexibility for set F is maximum. The addition of pairs ( a , j ) to 0 is repeated until S T ( 0 ) = 0 or S = minST(0) is a feasible schedule. Within the multi-pass procedure, the temporal flexibility used for selecting pairs (i,j) is randomly biased, and thus in general different feasible schedules are generated. is due to The earliest branch-and-bound algorithm for PSltemplC,,,, Bartusch et al. (1988). The latter approach differs from the algorithm by De Reyck and Herroelen in the forbidden sets considered in the course of the algorithm. The forbidden sets F broken up in Algorithm 2.5.8 are always active sets A(S,t ) belonging to the minimal point S of order polyhe dron ST(O), where 0 is the strict order under consideration. If there is no forbidden active set A(S,t ) for S a t any time t 2 0, schedule S is feasible, and no further pairs (2, j) are added to 0. As we have already noticed in Subsection 2.5.1, the feasibility of S does not necessarily imply the feasibility of strict order 0 . The algorithm of Bartusch et al. first computes all minimal forbidden sets F E F for which the temporal constraints allow the of all activities i E F (the remaining forbidden sets simultaneous processi~~g are broken up by the precedence constraints induced by the given minimum and maximum time lags). Similarly to Algorithm 2.5.8, enumeration nodes correspond to strict orders 0 in set V. The child nodes O', however, now arise from branching over all pairs (i, j ) of activities i, j E V such that strict order 0' := t r ( 0 U {(i, j)}) breaks up a t least one minimal forbidden set which is not broken up by strict order 0 . Leaves of the enumeration tree are either feasible strict orders 0 or strict orders 0 for which no further minimal forbidden set can be broken up by a time-feasible order 0' > 0 .
70
Ch. 2. Minimization o f Project Duration
In contrast to the algorithms by Bartusch et al. and De Reyck and Herroelen, the enumeration scheme of the hi branch-and-bound algorithm by Schwindt (1998a) establishes precedence relationships between sets of activities instead of precedence relations ps between single activities. For some forbidden set F, let A be a maximal feasible set and let B be a minimal delaying alternative. A disjunctive precedence constraint between sets A and B min S. > min (Si pi) JEB - IEA says that no activity j E B can be started before the first activity i E A has been completed. In literature, disjunctive precedence constraints are also referred to as AND/OR precedence constraints or waiting conditions (cf. Mohring et al., 2000). They have been introduced by Igelmund and Radermacher (1983) in the form of preselective strategies for resource-constrained project scheduling with stochastic activity durations. Inequality (2.5.16) is equivalent t o the disjunction of inequalities minjes Sj 2 S, pi for single activities i E A. Thus, an enumeration node is associated with a set of strict orders 0 , and the corresponding search space is the union of order polyhedra ST(0). Since for a minimal delaying alternative B, only one child node is generated (instead of IAl nodes in Algorithm 2.5.8), the enumeration tree is significantly reduced in size. This advantage is paid for with the more expensive calculation of schedule S which minimizes the project duration on the current search space. Such a schedule can be computed in pseudopolynomial time (linear in upper bound UB on the minimum project duration) by a label-correcting algorithm exploiting the property that the search spaces possess a unique minimal point analogously to the case of precedence constraints between single activities. It has been shown by Mijhring et al. (2000) that the decision problem whether there exists a schedule satisfying the prescribed temporal constraints, a given set of disjunctive precedence constraints, and some prescribed deadline on the project termination belongs to NP fl coNP. The question, however, whether this problem can be solved in polynomial time remains open. Polynomial-time algorithms for the case where Jij 2 0 for all (i,j) E E have been proposed by Mohring et al. (2000) and independently by Adelson-Velsky and Levner (2002). By replacing the disjunctive precedence constraints (2.5.16) with release dates (2.5.17) Gin= min(S, +pi) for all j E B
'
'
+
+
itA
where the right-hand side is the earliest completion time of some activity i E A with respect t o the schedule S under consideration, one obtains the enumeration scheme of the branch-and-bound algorithm by Fest et al. (1999). In comparison with disjunctive precedence constraints, the main advantage of this approach is that minimizers S of the project duration on the search space can be calculated in O(IV1) time. Furthermore, the analogue to the third dominance rule from Subsection 2.5.4 leads to a very simple and effective dominance criterion, which allows fathoming of nodes by
2.5. Branch-and-bound and truncated branch-and-bound methods
71
comparing corresponding release date vectors. The drawback of the releasedate based enumeration scheme is that constraints (2.5.17) only temporarily establish a precedence relationship between sets A and B. Since in contrast to the disjunctive precedence constraints, the right-hand side of (2.5.17) is a constant, the resource conflict caused by forbidden set A U B is not definitely settled and thus one and the same resource conflict may be resolved repeatedly along a path from the root to some leaf of the enumeration tree. Computational experience, however, indicates that this situation can often be avoided by discarding enumeration nodes which due to unnecessary idle times, cannot lead to quasiactive schedules (total-idle-tirne dominance rule, cf. Fest et al., 1999). Whereas all algorithms mentioned thus far are based on breaking up forbidden sets, the approach by Dorndorf et al. (200Oa) relies on binary decisions of scheduling a given activity i E V at its (current) earliest possible start time dm or delaying i by increasing dm by a t least one time unit, that is, by increasing the corresponding release date. The large size of the corresponding enumeration tree is tremendously decreased by applying constraint propagation based on so-called consistency tests (see Subsection 2.5.7), which check whether certain start times can be excluded from further consideration because they cannot lead to feasible, active, or optimal schedules. The basic principles of those consistency tests will be discussed in Subsection 2.5.7. Computational experience indicates that the algorithm by Dorndorf et al. (2000a) compares favorably with the procedures based on breaking up forbidden sets.
2.5.7
Alternative preprocessing and constraint propagation
If the resources available do not permit us to execute a large number of activities in parallel, the search space of enumeration nodes can be considerably reduced by applying constraint propagation. We review some constraint propagation techniques that have been proposed in literature. We say that two distinct activities are i n disjunction if due to the resource constraints they cannot be processed at the same time. The preprocessing algorithm from Subsection 2.5.2 can be applied to all twoelement sets {i, j } of activities that are in disjunction. Obviously, the activities of two-element forbidden sets are in disjunction. Brucker et al. (1998) have used the concept of symmetric triples for finding non-forbidden sets {i, j } whose activities are in disjunction. We call (h,i,j ) a symmetric triple if {h,i, j ) forms a forbidden set and activity h must be executed simultaneously with activity i (i.e., dhi 2 -pi + 1 and d,h 2 -ph + 1) and with activity j (i.e., dhj 2 -pi + 1 and djh 2 -ph 1). For a symmetric triple (h, i, j),activities i and j cannot be in progress simultaneously because this would imply that h, i, and j were carried out in parallel and because {h, i ,j ) is a forbidden set. Thus, we have either S j 2 Si +pi or Sd 2 Si + pj for each feasible schedule S.
+
Ch. 2. Minimization o f Pro.ject Duration
72
Dorndorf et al. (2000a) have used the following technique. Activities i and j are in disjunction if for all times t at which both activities i and j may be in progress, i.e.,
where pi(a, b) and wk(a,b) are given by (2.5.10) and (2.5.11), respectively. Several constraint propagation algorithms are based on interval capacity consistency tests, which, similarly to lower bound LBW, are based on the comparison of workload capacity (b - a)& and minimum workload requirements wk(a, b ) of certain intervals [a, b[ for resources k E R.For a thorough discussion of interval capacity consistency tests, we refer to Baptiste et al. (1999), Dorndorf et al. (1999), and Dorndorf (2002, Ch. 4). Interval-based lower bounds like LBW for objective functions different from project duration will be treated in Subsection 3.6.4. If the intervals investigated have width b - a = I, we speak of a unit interval capacity t e s t . Assume that for some resource k E R and some time t E [O,Z[,it holds that
Then the capacity of resource k is not sufficient to match the requirement -for resource k at time t , that is, there is no feasible schedule S with S,+1 5 d. Now consider some real activity i E V that may not be in progress at a given time t (i.e., ESi 5 t -pi or LS, 2 t + 1). In this case, activity i cannot be carried out at time t if for some resource k E R which implies Si E [ES,,t -p,] U [t+ 1,LSi] for each feasible schedule S. Two particular cases allow the introduction of additional temporal constraints. If t is less than the earliest completion time ESi +pi of activity i, we obtain Si 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. It can easily be shown that it is sufficient to consider only times t coinciding with the latest start time LSj of some j E V. The activity interval capacity t e s t generalizes several consistency tests that have been devised for machine scheduling. Let U C V be a nonempty set of real activities and let U', U" c U. If for some resource k E R,the workload capacity of the interval from the earliest start in set U \ U' to the latest completion in set U \ U" is less than the workload of the activities from set U , i.e.,
>
73
2.5. Branch-and-bound and truncated branch-and-bound inethods
then there is some activity from set U' that is started first or some activity from set U" that is completed last among the activities from set U: min Si < ,min Sj or max(Sj rEU' 3EU\Uf 3EU"
+ pi) > i ~ ~ , , (+spi)i
(2.5.18)
For certain choices of sets U' and U", the disjunction (2.5.18) results in temporal constraints (cf. Table 2.5.5). The correspondig consistency tests are known as input, output, input negation, and output negation tests.
Table 2.5.5: Specific implementations of the activity interval capacity test Test Input Output Input neg.
(U'. Constraints . . , U"I, ({i)l@) $ISj-lforallj~U,j#i S, 2 S, + p, - pj 1 for all i E U, i # j (0, (31) (U\{j), {j)) Si 2 min[ min,ESi, ,max (ESi +pi) - pj] 1 z~U\{71 eEU\{i) Output neg. ({i), U\{i)) Si max[ m i n i s j , , ~ & ( L s , +pi) -pi] - 1 j€u\{i) 3€U\{i)
+
+
<
General interval capacity tests refer to time intervals [a,b[ with minimum residual workload capacity
for given resource k E R. If there is a resource k with resk(b- a) < 0,then there does not exist a feasible schedule with I. Now let i E V be some real activity with LSi p, > b. If i is completed by time b, then it must hold that
+
z.
where rik(min[p,(a, m), b-a]-p,(a, b)) represents the increase in the workload of activity i that must necessarily be processed in interval [a, b[ when the latest completion time of i is decreased from LS, +pi to b (cf. Baptiste et al., 1999). If the latter inequality does not hold, then each feasible schedule S satisfies
SiLb+
rjk(min[pi(a,a), b - a] - ~ i ( ab)) , - resk(a, b)
Rk
- PC
The numerator on the right-hand side equals the workload of activity i that has to be shifted behind time b. Division by capacity Rk yields the time needed t o process this workload on resource k. In Schwindt (1998a) and in Baptiste et al. (1999) it has heen shown that intervals [a, b[ with minimum residual workload capacity can be determined by investigating O(IVIZ)critical intervals (where interestingly it is not sufficient to consider only intervals whose endpoints coincide with earliest or latest start or completion times).
74
Ch. 2. Minimization of Project Duration
2.5.8
Alternative lower bounds
When calculating lower bounds, there is generally a tradeoff between the quality of the bound and the computational effort required. In Subsection 2.5.3, we have discussed two simple lower bounds on the minimum project duration that are used for node fathoming within the branch-and-bound method (Algorithm 2.5.16). In what follows, we deal with three lower bounds from literature which due to their large running times and their tightness, are dedicated t o the performance analysis of heuristic solution procedures. The three lower bounds are based on solving appropriate relaxations of problem PS 1 temp 1 C,. The minimum-cut bound (also called Lagrange bound) by Mohring et al. (1999) takes up a Lagrange relaxation of the resource constraints that has been proposed by Christofides et al. (1987) for problem PSlpreclC,,. Let A*:= [ES,,LSi] n Z= {ES,, ES, 1 , . . . , LS,) denote the set of integral points in time between the- earliest and the latest start time of activity i. A := [ O , q n Z = {0,1,. . . , d} is the set of all integral points in time between the project beginning at time zero and the latest project termination a t time LS,+1 = UB,where UB is again any upper bound on the shortest project duration. Recall that if the feasible region S is nonempty, there always exists an optimal and integer-valued schedule (cf. Remark 2.1.2). This implies that 0 can be in formulation (2.1.5) of problem PSltemplC,,,,, condition S, replaced by Si E Z>o for all i E V. Pritsker et al. (1969) have proposed to model resource-constrained project scheduling problems as binary linear programs with time-indexed binary variables
+
>
Zit :=
1, i f t = S i 0, otherwise
(i E V , t E Ai)
(2.5.19)
which indicate whether or not activity i E V is started a t time t. Since each activity is started exactly once, we have the assignment equations
The temporal constraints (1.2.1) can be formulated as follows. If activity i is started at time t or later (i.e., CrEA,,rrt xir = l ) , then activity j E Succ(i) must not be begun before time t + bij (i.e., CrEAj,Tjt+6ij-l xjr = 0). In sum, the temporal constraints can be written as lEll A[ inequalities
Activity i is in progress at time t E Ai (i.e., i E A(S,t)) precisely if t Cr=t-,i+l xi, = 1. Thus, for the resource constraints we obtain
75
2.5. Branch-and-bound and truncated branch-and-bound methods
With CtEA,+,t x,,,,, being the project duration, PSltemplC,, Minimize
p(x) =
reads
t~,,~,, tEA,+l
subject to (2.5.20), (2.5.21),and (2.5.22) xi, E {O,1} (a E V, t E A , ) Problem (2.5.23) represents a binary linear program whose number of decision variables is pseudopolynomial in n. Obviously, a lower bound is readily obtained by solving the continuous relaxation that arises from replacing the constraints zit E {O, 1 ) by 0 <_ zit 5 1 (i E V, t E A i ) . Computational experience by Mijhring et al. (2003) has shown that already for medium-sized projects with 100 activities, the resulting linear program cannot be solved in an acceptable amount of computation time. By deleting the resource constraints (2.5.22), the coefficient matrix of (2.5.23) becomes totally unimodular, and thus there is always an integral optimal solution to the continuous relaxation. To take the resource constraints into account, Christofides et al. (1987) have replaced the objective function in (2.5.23) with the Lagrange function
penalizing excessive resource demand by multipliers X k t 2 0 . After deletion of the constant term - C,,, CtEaXtrRtand appropriate rearrangement, the Lagrange function can be written as
L(x)=
C tEA witxit
with wit =
rik
iEV
C
ifi=n+l Ah7, otherwise
rEAi
t-pi+l
xx
witzit
iEV tEA.
subject to (2.5.20) and (2.5.21) xit E { O , 1 ) (i E V , t E A i )
1
(2.5.24)
For arbitrary choice of multipliers Xkt 2 0 , the minimum objective function value L ( x * ) of (2.5.24) always represents a lower bound on the minimum objective function value of the continuous relaxation of (2.5.23) and thus on the shortest project duration. The problem of finding multipliers Xkt 0 for which L ( x * ) (and thus the lower bound) becomes maximum can be approximately solved by using a standard subgradient method (cf. Held et al., 1974). For optimal multipliers,
>
76
Ch. 2. Minimization of Project Duration
the minimum objective function values of the Lagrange relaxation (2.5.24) and of the continuous relaxation of (2.5.23) coincide. This approach corresponds to the lower bound devised by Christofides et al. (1987), where problem (2.5.24) with the formulation txjt txit 2 dij ((2,j) E E ) for the temporal constraints instead of (2.5.21) is solved by a branch-andbound algorithm. Because of the total unimodularity of the coefficient matrix, (2.5.24) can be solved much more efficiently when it is addressed as a linear program. Since in each iteration of the subgradient method, problem (2.5.24) has to be solved with different multipliers Xktr the resulting computation times may nevertheless often be prohibitively large. This shortcoming has been settled by Mohring et al. (1999), who have described a transformation of (2.5.24) into a minimum cut problem in a (generally cyclic) network G with vanishing lower and (partly) finite upper arc capacities. The node set V' of G contains a source r , a sink s, and one node for each pair (i,t) with i E V and t E A, U {LSi 1). There are three types of arcs in G. For each activity i E V, assignment arcs ((i, t), ( 2 , t + l ) ) establish a directed path from initial node (i, ESi) to terminal node (i, LSi+ 1). Temporal arcs ((2,t), (j, t+dij)) correspond t o the temporal constraints (2.5.21). Connecting arcs (r, (i, ES,)) and ((i, LS, 1), s) link source r and sink s with the remaining nodes. All lower arc capacities equal zero. The upper capacity of an assignment arc ( ( 2 , t), (i, t + 1)) equals wit, the remaining arcs have infinite upper capacity. The problem is t o find a minimum-capacity (r, s)-cut (i.e. a set [V;, V,'] of arcs between the two sets V;, V,' of some partition (V,', V,') of V' with T E V; and s E V,' such that the sum of all upper capacities of forward arcs from V; to V,' minus the sum of all upper capacities of backward arcs from V; to V; is minimum). This problem can be solved efficiently, e.g. by preflow-push algorithms for maximum flow problems (cf. Ahuja et al., 1993, Ch. 7, or Cherkassky and Goldberg, 1997). Let [V;, V,'] be a minimum-capacity (r, s)-cut in network G. In Mohring et al. (1999) it is shown that one obtains an optimal solution x* t o problem (2.5.24) by putting
+
+
xTt :=
1, 0,
if ((i, t), (i, t otherwise
+ 1)) is a forward arc of [V;,V,']
The proof exploits the fact that there always exists a minimum (r, s)-cut in G that contains exactly one assignment arc for each activity i E V, say, arc ((i, t ) ,(i, t + 1)). Obviously, the capacity of such an (r, s)-cut coincides with CiGVwit, i.e. the objective function value of the corresponding solution x to problem (2.5.24). Mohring et al. (2003) have tested the performance of a C++ implementation of the minimum-cut lower bound on a set of 403 instances of problem PSltemplC,,,,, with 100 activities each. The instances have been selected from a set of initially 1080 projects such that for each project, there is a feasible schedule and the best upper bound known thus far is strictly greater
2.5. Branch-and-bound and truncated branch-and-bound methods
77
than the trivial lower bound LBO. The tests have been performed on a Sun Ultra 2 workstation with 200 MHz clock pulse operating under Solaris 2.7. Within a mean computation time of 17 seconds (corresponding t o 24 iterations of the subgradient method), they could improve 91 of the best lower bound values known before. An alternative way of relaxing the complicating resource constraints in the binary linear programming formulation (2.5.23) of problem PSI templC,,,, consists of aggregating inequalities (2.5.22) to a set of weaker constraints. A relaxation which arises from such an aggregation of constraints is termed a surrogate relaxation (see e.g. Nemhauser and Wolsey 1999, Subsect. II.3.6), and we refer t o the minimum objective function value of the surrogate relaxation as a s u r r o g a t e lower bound. To construct a surrogate relaxation for problem (2.5.23), we again associate multipliers Xkl 0 with resources k E R and points in time t E A, and for each resource k E R, replace resource constraints (2.5.22) for t E A by their linear combination
>
Since an inequality system implies any nonnegative linear combination of its inequalities, problem Minimize
t~,+~,,
represents a surrogate relaxation of (2.5.23), independently of multipliers Xkt 0 (cf. Selle, 2002, Subsect. 2.1.3). The multipliers can, for example, be chosen to be equal t o the shadow prices of resource constraints (2.5.22), i.e. the values of the respective variables in an optimal solution t o the dual of the continuous relaxation of problem (2.5.23). In that case, the value of the surrogate lower bound is always greater than or equal to the optimum objective function value of the continuous relaxation (see Sommerschuh, 1990), which in turn is not less than the value of the minimum-cut lower bound. On the other hand, however, even though containing much less constraints than the original problem (2.5.23), surrogate relaxation (2.5.26) represents an NPhard optimization problem, which in contrast t o Lagrange relaxation (2.5.24) cannot be solved in polynomial time. Finally, we mention that we may construct further surrogate relaxations by aggregating the temporal constraints in a similar way. Next, we discuss the column- generation b o u n d by Brucker and Knust (2000, 2003), which belongs to the class of destructive lower bounds (cf. Subsection 2.5.3). Similarly to Algorithm 2.5.14 for computing destructive lower bound LBD, binary search provides the least hypothetical upper bound d that cannot be rejected by proving insolvability of the problem instance with
>
78
Cb. 2. Minimization of Project Duration
maximum project duration $aZ,, = d. In Algorithm 2.5.14, we have used preprocessing for rejecting upper bounds. If for current upper bound d, preprocessing does not lead to a cycle of positive length in temporal scheduling network Nf (and thus LBD 5 d), Brucker and Knust (2000, 2003) try to where the temporeject d by solving a relaxation of problem PSltemplC,, ral constraints are only partially taken into account via earliest and latest start times and where preemption of activities is allowed. In what follows, we describe this relaxation in more detail and explain how it can be solved efficiently by column-generation techniques. Based on the distance matrix resulting from preprocessing for tent+ tive upper bound d, we calculate earliest start times ES, = hi and latest completion times LS, pi = -die pi for all activities z E V. Let 0 = TO < TI < . . . < T~ = LSn+l = d with p 5 2 n be the ordered sequence of those earliest start and latest completion times. For each X = 1 , . . . , p, we consider the set
+
+
Vx := { i E V I ESi < TA and LSi + p i
>T~-~)
Note of all activities that may be in progress in interval [ T ~ - ~ , T ~ [ . that distinct sets Vx differ in at least one activity. A subset V' & Vx is called executable if V' is not forbidden and all activities from V' can overlap in time, i.e., 4 . < pi holds for any two activities i, j E V'. Let Ax,,. . . ,Ax,, with or 5 21%1denote the executable subsets of Vx. Each resource-feasible schedule S can be regarded as a sequence of executable active sets A(S, t). Hence, when replacing the temporal constraints with the (weaker) conditions ESi 5 Si 5 LS, and allowing the interruption of activities, the relaxation can be stated as follows. For all executable sets of problem PSltemplC,, Axp (A = I , .. . , p, p = 1,. . . , ux), determine the length of time yxp 2 0 over which precisely the activities i E Ax, are in progress such that (i) each real activity i = 1 , . . . , n is carried out for pi time units, (ii) for each X = 1,. . . ,p,the total execution time of all associated executable sets Ax, (p = 1 , .. . ,ox)is less than or equal to the interval length TA - ~x-1,and (iii) the project duration is minimized. The latter problem can be formulated as a linear program with decision variables y~,. For given executable set Ax,, let aXpE ( 0 , l ) n with a?" :=
1, i f i E A x P 0 , otherwise
(i=l,.,.,n)
be the incidence vector providing the elements of Ax,. Then is the length of time over which activity i is executed simultaneously with all activities j E Ax,, j # i. Condition (i) can then be formulated as
2.5. Branch-and-bound and truncated branch-and-bound methods
79
Condition (ii) reads
C;:l y~~ equals the project duration t o be minimized. If there is a feasible solution y to this linear program, then the resulting project duration is less than or equal t o upper bound d. Hence, for testing if d can be rejected, it is sufficient to check whether the linear program is solvable. To this end, we relax inequalities (2.5.28) by introducing nonnegative penalty variables S A (A = 1,. . . , p ) and solve the following linear feasibility problem: Minimize
5
sA
X=l P
subject t o
Uh
C a Y y x p > pi
X=l p=l
(i
= 1 , . ..,n) >
'Jx
C Y A ~ - S ~ I T A - T A - ~
p=l yxp SX
>0
L0
(2.5.29)
(x=I,...,P)
(A = 1 , .. . , p, p = 1 , .. . , U A ) (X=l, ...,p),
Inequalities (2.5.27) and (2.5.28) are satisfied precisely if the minimum objective function value for linear program (2.5.29) equals zero. An initial basic feasible solution to (2.5.29) can easily be obtained by putting executable set = {i) into progress for pi time units (i = 1 , .. . ,n).More precisely, we select some index X with [ T A - ~ , T X [& [ES,,LS, pi[ and set y i p := pi for AX^ = { i ) . Note that in general it holds that pi > rA- TA-1, i.e., s~ > 0. Since the number of decision variables y ~ of, (2.5.29) grows exponentially with n, it is expedient t o consider only a restricted working set of decision variables that are generated as needed (this technique is referred t o as column generation, cf. Goldfarb and Todd, 1989, Sect. 2.6). Each time the linear program with the current working set of decision variables has been solved to optimality, either new decision variables are added to the working set or it is shown that the current basic solution is optimal. If the working set exceeds a prescribed maximum size, nonbasic decision variables are eliminated from the working set. To decrease the objective function value, decision variables entering the working set are chosen to have negative reduced cost. If there is no such improving decision variable, the current basic solution is optimal. In each iteration of the column-generation procedure, the current working set contains the basic variables, all penalty variables sx, and all slack variables belonging t o the constraints of (2.5.29). For finding improving decision variables, we consider the dual of linear
+
80
Ch. 2. Minimization of Project Duration
program (2.5.29):
a2ui - v~ 5 0 (A = 1 , . . . , p, p = 1,.. . , gx)
subject t o i=l VX
51
ui
20
VX
20
(A=l, ...,p) (2=1, ..., n) (A=l, ...,p)
By construction of the working set, the dual constraints ux 5 1 (A = 1 , . . . , p) as well as the nonnegativity constraints on the decision variables are satisfied by the current solution. Hence, for finding an improving decision variable yxp, we scan the incidence vectors (in order of increasing indices X = 1, . . . , p ) for a vector aXpleading t o dual infeasibility, i.e. with
For an efficient search in the set of incidence vectors belonging t o a given index A, Brucker and Knust (2000) have proposed a branch-and-bound algorithm enumerating binary vectors a E (0, lIn. An experimental performance analysis of the column-generation lower bound has been presented by Brucker and Knust (2003), where preprocessing is extended t o symmetric triples (see Subsection 2.5.7) and algorithms for one-machine scheduling are used to increase earliest start and decrease latest start times (for details, we refer to the immediate selection techniques discussed in Brucker et al., 1998). Based on the projects studied by Mohring et al. (1999), it has been demonstrated that the column-generation lower bound is currently the tightest lower bound on the minimum project duration. Using a Sun Ultra 2 workstation with 167 MHz operating under Solaris 2.5, 228 out of the 403 best lower bound values known until then could be increased within a mean computation time of 23 seconds per instance.
2.6
Priority-rule methods
Priority-rule methods represent heuristic procedures which schedule the activities of the underlying project successively according t o certain priority rules. Priority-rule methods generally run much faster than (truncated) branch-and-bound methods, however, they do not always provide a feasible schedule if there is one. In what follows, we discuss two different types of priority-rule techniques. The sequential or direct method processes the activities or respectively nodes of the project network N one after another without evaluating the cycle structures separately. The pr decomposition methods, where "pr" stands for
2.6. Priority-rule methods
81
priority rule, are the analogues to the bb decomposition methods from Subsection 2.5.5 and again exploit the decomposition theorem (Theorem 2.2.3). First, a feasible subschedule SG is determined for each cycle structure C of N. Second, in pr decomposition m.ethod 1, a cycle of length zero is added t o each cycle structure C (which is based on subschedule S C and contains all nodes of C ) as described in Subsection 2.5.5. Finally, the resulting network is treated by the direct method. In pr decomposition method 2, the "backward arc" within each cycle of length zero is deleted. The direct method and pr decomposition methods 1 and 2 are discussed in detail in Subsections 2.6.1 and 2.6.2, respectively. As mentioned in Subsection 2.5.5, the addition of the cycle of length zero to each cycle structure C in decomposition method 1 can be viewed as replacing C by a single node or activity with appropriate processing time and resource requirements, which results in an acyclic "contracted" AoN network. That latter version of pr decomposition method 1 called contraction method has first been proposed by Zhan (1994) and Neumann and Zhan (1995). Both the direct and contraction methods have been presented and compared with each other by Brinkmann and Neumann (1996). Improved versions of both procedures have been studied in Franck and Neumann (1998). Recent versions of the direct method and pr decomposition methods 1 and 2 can be found in Franck (1999) and Franck et al. (2001a). To construct a feasible schedule (whether for the original project network N in the direct method or for a cycle structure or the modified network in the pr decomposition methods), a serial or a parallel schedule generation scheme can be used. In both generation schemes, the activities are scheduled successively, where the activity to be scheduled next is selected using some priority rule. The two generation schemes are studied in detail in Subsections 2.6.4 and 2.6.5.
2.6.1
Direct method
The direct method for a project network N consists of three steps. In Step 1, we determine all cycle structures of N. This can be done by using an algorithm for finding all strong components in a directed graph, see for example, Even (1979, Sect. 3.4) or Bang-Jensen and Gutin (2000, Sect. 4.4). Although cycle structures are not evaluated separately in the direct method, we have to know them because in Step 3, once an activity from a cycle structure C has been scheduled, all remaining activities from C are scheduled before scheduling an activity outside C . In Step 8, we first compute the upper bound 2 on the shortest project duration by (2.1.3). Second, we determine the longest path length di, from i to j in temporal scheduling network N+ ( i ,j E V ) , for example, by the Floyd-Warshall algorithm. If dij + dji > 0 for some i , j E V , N+ contains a cycle of positive length. In this case, there is no feasible schedule, and the direct method is terminated. Otherwise, we perform the preprocessing
82
Ch. 2. Minimization o f Project Duration
phase by calling Algorithm 2.5.12 with UB = 3. Recall that preprocessing generally results in updating the longest path lengths d+j. If d is rejected, there is no feasible schedule, and the direct method is terminated. Eventually, we compute the earliest and latest start times ESi = doi and LSi = -die, respectively (i E V). In Step 3,we first determine the precedence graph G< and thus the sets of immediate predecessors Pred+(i), a E V, for the distance order + = + D (cf. Definition 1.4.3), for example, by the topdown algorithm discussed in Habib et al. (1993). Second, we compute a feasible schedule (S,),,v for N using the serial or parallel generation scheme from Subsection 2.6.4 or 2.6.5, respectively. For those generation schemes, the earliest and latest start times ES, and LSi, respectively, and the predecessor sets Pred+(i) are needed (i E V). In short, the direct method for project network N is as follows: (2.6.1)Algorithm: Direct m e t h o d for
Step 1. Determine all cycle structures of
PSI
templC,,.
N
I&
Step 2. Compute upper hound a and longest path lengths in temporal scheduling network N + (i, j E V). If aj + dji > 0 for some i, j E V, then terminate (there is no feasible schedule). Perform preprocessing with UB = a. If preprocessing rejects a, then terminate (there is no feasible schedule). Determine earliest and latest start times ES, and LS, (i E V). Step 3. Determine predecessor sets Pred+(i) for all i E V. Find feasible schedule (Si)i,v for N by some generation scheme, where all activities of one and the same cycle structure are scheduled directly one after the other.
2.6.2
Decomposition methods
The pr decomposition methods 1 and 2 consist of five steps each. First, we deal with decomposition method 1. As in the direct method, Step 1 consists of determining all cycle structures of the project network N in question. Also, Step 2 is the same as in the direct method. In Step 3, each cycle structure C with node set uC is expanded t o an AoN network N C with node set VC as shown in Section 2.2. Then, Steps 2 and 3 of the direct method are performed for network N C instead for N. If for some cycle structure C, a feasible subschedule (SF)i,vc cannot be found, no feasible schedule for N can be determined either, and the decomposition method is terminated. In Step 4, for each cycle structure C, the nodes i E UC are ordered according t o nondecreasing SF, say 0 = SE 5 SE 5 .. . 5 SE. For every two
2.6. Priority-rule methods
83
successive nodes i, and an arc (i,, z,+~)with weight 6Loim+,:= Sl",+,-Sl", is introduced (u = 1,. . . , s - 1). Moreover, the backward arc (is, i l ) with weight 6i8i, := -Sz is added. This corresponds to the introduction of a cycle of length zero for each cycle structure C (cf. Subsection 2.5.5) and results in an AoN network F. Step 5 corresponds to Step 3 of the direct method with instead of N. That is, a feasible schedule for and thus for N as well is determined. P r decomposition method 2 differs from method 1 in that backward arc ( i s ,il) is not added for any cycle structure C in Step 4. In short, pr decomposition method I is as follows.
N
(2.6.2) Algorithm: Pr decomposition m e t h o d 1 for PSltemplC,,.
Steps 1 and 2 as in Algorithm 2.6.1. Step 3. Expand each cycle structure C of project network N to an AoN network N C . Perform Steps 2 and 3 of Algorithm 2.6.1 with NC instead of N. If for some C, a feasible subschedule cannot be found, terminate. Step 4. Add a cycle of length zero to each cycle structure C as described above, which results in AoN network N. Step 5. Perform Step 3 of Algorithm 2.6.1 with
2.6.3
instead of N.
Priority rules
A schedule generation scheme schedules the activities i of the project in question, i.e., fixes their start times S,, successively according t o some priority rule. Several subsets of activity set V are used in a generation scheme. The completed set C & V contains all activities that have alreadv been scheduled and are thus regarded as completed. At the beginning, we put SO:= 0 and c := (0). (2.6.3) Definition. SC= (Si)jEc is called a partial schedule corresponding to completed set C C V with 0 E C if Si 2 0 (i E C) and So = 0. A partial schedule S C is called timefeasible (or resource-feasible) if it satisfies the temporal constraints (1.2.1) with i , j E C (or the resource constraints (2.1.4) with S C instead of S , respectively). A partial schedule that is both time-feasible and resource-feasible is called feasible.
A generation scheme constructs a sequence of feasible partial schedules SC beginning with C = (0) until a feasible schedule S is attained. Set C := V \ C consists of all activities that have not been scheduled yet. The eligible set E i? contains those activities from i2 which are eligible for scheduling. In the basic version of the serial generation scheme, which
Ch. 2. Minimization of Project Duration
84
represents the simplest case, C contains those activities which have not been scheduled yet but all of whose immediate predecessors with respect to strict order < = < D (in short, <-predecessors) have already been scheduled, i.e.,
The activity to be scheduled next is always that activity j* E E with highest priority n(j*), where ties are broken on the basis of increasing activity numbers, that is,
where ext E {min,max}. Once activity j* has been scheduled, i.e., its start time ST has been determined, the earliest and latest start times ESf and L S of~ the activities j E are updated:
EST}
:= ESj = doj and L S ~ := ~ }LSj = -djo for all j E V. A large number of different priority rules have been examined in litera-
where
ture for resource-constrained project scheduling problems with and without maximum time lags (see, for example, Alvarez-Valdes and Tamarit, 1989, Kolisch, 1995, Sect. 5.2, Neumann and Zhan, 1995, Franck and Neumann, 1998, and Franck, 1999, Sect. 4.3). We list some priority rules which mostly provide "good" schedules (compare also Section 2.8):
M S T rule ("minimum slack time" first): ext a(h) = min TFh, hEE hEE where TFh = LSh - ESh is again the total float or slack time of activity h
MTS m l e ("most total successors" first): ext ~ ( h=) max I Reach+(h)I, hEE hEE where Reach+(h) is the set of nodes i for which there is a path from h to i in precedence graph G<, i.e. the reachable set of node h in G< LPF rule ("longest path following" first): ext a(h) = maxl(h), hEE hEE where the level l(h) of node h is the maximum number of nodes on any longest path from h to n + 1
G R D rule ("greatest resource demand" first): ext ~ ( h=) maxph C r h k hEE kc77 R S M m l e ("resource scheduling method"): ext ~ ( h=) min max[O, .max (ESh ph - LS,)] he& ~ E E 3EE\{h}
+
2.6. Priority-rule methods
85
The RSM rule says that an activity which induces the smallest delay of every other activity from the eligible set is scheduled next, where we assume that each activity j must be delayed up to the end of activity h. We distinguish between static and dynamic priority rules. We speak of ) only be computed a t the beginning of the a static priority mle if ~ ( jneed generation scheme. For a dynamic priority mle, ~ ( jdepends ) on eligible set E or partial schedule S C and must be computed each time the activity to be scheduled next has to be selected. The MTS, LPF, and GRD rules are static, the RSM rule is dynamic, and the LST and MST rules may be static or dynamic. If for the earliest and latest start times, we use the values ESi = doi and LSi = -die after the preprocessing phase, the LST and MST rules are static. If we employ the updated values
(compare (2.6.1)),the LST and MST rules are dynamic. In the latter case, we use the acronyms LSTd and MSTd instead of LST and MST.
2.6.4
Serial generation scheme
We first present a basic version of the serial generation scheme. After that, we discuss some modifications. Let C be again the completed set, & 2 = V \ C be the eligible set, and j' E & be the activity to be scheduled next. To fix the start time ST of activity j', we have to take into account the resource profile rk(SC,.) of each resource k E R given partial schedule SC = (Si)i,c, which is defined as follows:
rk(SC,t):=
x
~ i k(
~ E RO ,< t I a )
(2.6.3)
i € d ( S c,t)
where
A ( S C , t ):= { i E C I Si 5 t < Si + p i ) is the active set at time t given partial schedule S C . Then
t* := min(t.2 ES;Irk(SC,r)+ rYk < Rkfor t 5 T < t +pj. and all k E R) is the earliest resource-feasible start time of activity j * . If t* 5 LS~.,then t* is timefeasible as well, and we assign the start time Sj. := t' t o activity j*. Moreover, we update the earliest and latest start times ES: and LS:, respectively, of all activities j E by (2.6.1). If t' > LS:., then t* is not timefeasible, and we perform a so-called unscheduling step. In general, the latest start time LS; results from a maximum time lag = -dyi between the start of some real activity i E C and activity j * , i.e., LS$ = Si - dYi. Let
q?"
86
Ch. 2. Minimization o f Project Duration
be the set of all those activities scheduled. To increase LS;, we unschedule all activities i E U and increase start times S, by t* - LS:, for all i E U. In addition, we unschedule all activities i E C with S, > minhEuSh, which due to the right-shift of the activities from set U may possibly be started earlier. If there is no red activity i E C whose scheduling has led to a decrease of LS:, i.e., LS;. = -d,.,l and thus 0 E U ,the generation scheme terminates because no feasible schedule can be found. It is recommended to prescribe the maximum number of unscheduling steps, e.g., n = IVl. The basic version of the serial generation scheme is then a s follows, where u is the number of unscheduling steps performed, and a ( j ) is computed for all j E E each time an activity j*E I has to be selected. (2.6.4) Algorithm: Serial generation scheme for PSItemplC-.
So:= 0, C := {O),u := 0 While C # V do E :={j E V \ C I Pred+(j) C C) For all j E E compute ~ ( j ) j*:= min{j E E I x ( j ) = exthez ~ ( h ) ) t*:= minit 2 ESPlrk(SC,r)+rPk5 Rk for t 5 T < t+pjr and d l k E R} If t* > LSj. then u := u + 1 and Unschedule(j*,t* - LSy) Else (*schedule j*a t time t' *) Sj. := t*,C := C U {j*) For all j E V \ C do (*update ES, and LS, *) ES, := max(ESj, S',. d,.,) LSj := min(LSj, Si. - dj,-) End (*for *) End (* if *) End (*while *) S := SC Return S
+
(2.6.5) Algorithm: Unschedule(j*, A). E C I LS,. = Si - d,.i) If 0 E U or u > then terminate (*no feasible schedule is found *) Step 1 (* right-shift of activities i E U *) For all i E U do ESi : = & + A , C := C \ {i) If ES, > -do then terminate (*no feasible schedule is found *) End (*for *)
U := { i
2.6. Priority-rule methods
87
Step 2 (* unschedule all activities i with S, > minhEuS h *) For all i E C with Si > minhEuShd o C := C \ {i) Step 3 (* compute ES, and LS, for all j E V \ C again *) Forallj€V\Cdo ESj := ma~[&j,maXh~u(ESh dhj)] L S3. ..- - d .10
+
For all i E C d o ESj := max(ESj, S, dij) LSj := min(LSj, Si - dji) End (*for *) End (*for *)
+
In Step 3 of procedure Unschedule, we have to compute the times ES? and LS: for all j E C again which were valid before scheduling activities h E U because the "history" of the scheduling process is not stored. If the resource requirements rikof activity i E V and resource capacities Rk (k E R ) are no longer constant but depend on time t, we only have to replace r i k and Rk by rik(t) and Rk(t),respectively, in Algorithm 2.6.4. An efficient way of keeping resource profiles rk(SC,.) for resources k E R is the so-called support-point representation of step functions. For each jump discontinuity (or equivalently, support point) t of function rk(SC,.), we consider the pair (t, r,) with rt = rk(SC,t). Each support point of rk(SC,.) corresponds t o the start or completion time Si or Si + p i , respectively, of some scheduled activity i E C. Thus, for partial schedule SC and resource k E R , step function rk(SC,.) can be represented by a list Ak of pairs (t, rt). For simplicity, we assume that list Ak contains two pairs (t,rt) with t = S, and t = S, + p i for each scheduled activity i E C (and hence, one and the same support point t may occur several times in list Ak, and there may be pairs (t,r,) in list Ak for which t is not a support point of rk(SC;)). When scheduling activity j* E E at time t*, we add two pairs (t*,r,.) and (tV+pp, rt*+pi,) to each list Ak (k E R ) . rt. equals r p k if Ak does not contain any pair (t, r,) with t 5 t*, and rt. = rt+rik otherwise, where r, is the resource utilization at the greatest support point t 5 t*. If Ah does not contain any pair (t1,rt,) with t' 5 t* + pj., we have rt.*,. = 0, else r,.+,;, coincides with the resource utilization rc at the greatest support point t' 5 t* pj*. Moreover, all pairs (t,rt) in lists Ak (k E R ) with t* 5 t < t* p p have to be replaced by pairs (t, rt + T,.~). Given lists Ak for partial schedule S C , the computational effort for scheduling activity j' is then O(IRIICI). Let q(lRI, IVI) be a bivariate polynomial describing the time complexity of computing the priority a ( j ) for some activity j E £. As shown above, the update of resource profiles r k (S C , .) after the scheduling of activity j*can be done in O((RIICI) time. The time complexity for one iteration of the serial generation scheme if procedure Unschedule is not called
+
+
Ch. 2. Minimization of Project Duration
88
is B(max(lRIIVJ,IVlq(lRI, 1111))). One execution of Unschedule requires O(IRllV12) time. Before procedure Unschedule is called for the first time or between two calls to Unschedule, at most n iterations of the serial generation scheme are performed. Thus, the time complexity of Algorithm 2.6.4 is o i ~ ( l v 1 2 m a x [ l R l , q ( l 1VI)l ~ l , + IRIlvI2))= Q(@IVI2max[lRl,q(lRI,IVI)I). In the basic version of the serial generation scheme, the activities of one and the same cycle structure are not necessarily scheduled directly one after the other as required for the direct method (see Step 3 in Algorithm 2.6.1). Let
uC, if there is a cycle structure C with i E uC otherwise
(2.6.4)
be the node set of the strong component containing node i E V. For what follows, we establish the assumption that i < j implies 1 # h for all h E V(i) and all I E V(j). Figuratively speaking, this means that < induces an asymmetric relation in the set of strong components V(i) of project network N. It can easily he seen that the distance order < D complies with this assumption. The eligible set E is now redefined as follows: If for some cycle structure C with node set U C , some but not all activities from C have already been scheduled, E consists of those activities from n U C whose <-predecessors have been scheduled, i.e., E := { j E c n U C I Pred<(j) & C}. Otherwise E contains all activities from C whose <-predecessors have been scheduled and which either are outside any cycle structure or belong to some cycle structure C for which all +-predecessors h E V \ UC of any activity j E uChave been scheduled. Next, we show that the above assumption on strict order 4 ensures that the eligible set is nonempty a s long as C C V. For given strict order <, we define relation
< j, or if (b) V(i) # V ( j ) and h < 1 for some h E V(i),l E V(j), or if (c) d +c m
i 4 , j exactly if (a) i
( i , j E V)
(2.6.5)
Let j be a node of some cycle structure C. Then Pred'c(j) consists of all UC for which there is a 4nodes i E UC with i + j and all nodes i predecessor 1 E V(i) of some node h E uC.In particular, Pred'c(j) C implies that all <-predecessors 1 outside cycle structure C of any activity h E UC have been scheduled. The (redefined) eligible set then reads as {j E
n UC I Pred+(j)
E := {j E
c I Pred+c(j)
C),
Since we have assumed that i
C), if some but not all nodes from some cycle structure C have been scheduled otherwise
+j
(2.6.6)
excludes 1 4 h for any h E V(i),
I E V(i), relation
2.6. Priority-rule methods
89
and thus represents a strict order in set V. Let i and j be two diierent nodes of one and the same cycle structure of N. Then i +C j exactly if i j , and thus I # 0 provided that Cn UC # 0 and ?nuC# 0 for some cycle structure C in N (first part of (2.6.6)). Furthermore, the asymmetry of +c implies that t # 0 if there is no cycle structure C with C n UCf 0 and ? n UC# 0 (second part of (2.6.6)).
+
(2.6.6) Example. We illustrate the serial generation scheme by scheduling the project of Example 2.5.13, for which we have already performed the preprocessing phase in Subsection 2.5.2. There is one resource with capacity R = 3 . The project network is depicted in Fig. 2.6.1, and the longest path lengths after preprocessing are given by Table 2.5.4. The corresponding earliest and latest start times of activities i E V are listed in Table 2.6.1. Fig. 2.6.2 shows the precedence graph for distance order + D , where u ( + D ) is again the covering relation of strict order +o (cf. Definition 1.4.1). We schedule the eligible activities j E E according to (dynamic) rule LSTd.
Figure 2.6.1: AoN project network with a single resource Table 2.6.1: Earliest and latest start times
0 1 2 3 4 E S i O 3 0 1 2 LSi 0 10 7 10 10
i
5 4 11
6 6 13
Table 2.6.2 shows the iterations of Algorithm 2.6.4, where "It." designates the iteration number and "Update" refers to increasing earliest start times and decreasing latest start times after the scheduling of selected activity j* at time t*. In each iteration, one eligible activity j* with minimum latest start time is scheduled, where ties are broken on the basis of increasing activity numbers. Since in each iteration, the earliest resource-feasible start time t* for
90
Ch. 2. Minimization of Project Duration
exactly if (i,j ) E c r ( + ~ )
Figure 2.6.2: Precedence graph G+D Table 2.6.2: Serial generation scheme - LSTd rule It.
1 2 3 4 5 6
E {1,2} (0) {0,2) {1,3,41 {3,41 {0,1,2) (4) {0,1,2,3) { O , l , ...,4) (5) { O , l , ..., 5) (61
C
j
2 1
3 4 5 6
t*
Update LS1 := 5
0 3 1 4 ES5 := 5, ESs := 7 5 7
activity j*is always less than or equal to latest start time LS;. , procedure Unschedule is not called. As we will see later on, this implies that the generated schedule S = ( 0 , 3 , 0 , 1 , 4 , 5 , 7 )is active. Fig. 2.6.3 shows the corresponding Gantt chart. Schedule S is optimal because the project duration S+ ,1 = 7 coincides with lower bounds LBD and LBW (see Example 2.5.15).
Figure 2.6.3: Gantt chart for generated schedule
2.6.5
Parallel generation scheme
Recall that in the serial generation scheme, exactly one activity j* is scheduled in each iteration. In the parallel generation scheme, more than one activity can be scheduled in each iteration. At first, we determine an auxiliary set Q, which corresponds to eligible set E in the serial scheme, and the
2.6. Pri0rit.y-rule methods
91
smallest of the earliest start times of the activities from Q , say t+. Eligible set £ then consists of those activities from Q whose earliest start times equal t+. The basic version of the parallel generation scheme is then as follows:
(2.6.7)Algorithm: Parallel generation scheme for PSlternp(C,,.
So:= 0, C := {O), u := 0 While C # V d o G := {j E V \ C ( Pred+(j) C} tt := minjEg ES, E := {j E Q I ES, = t + } While E # 0 d o For all j E 6 compute n ( j ) j*:= min{j E E I n ( j ) = exthGe~ ( h ) ) £ := E \ {j*) t* := min{t 2ESj. I T ~ ( S ~ , T ) +
LS? t h e n u := u + 1, Unschedule(j*,t' - LS,.), and E := 0 Else If t* > tf t h e n For all j E V \ C d o ESj := max(ESj, t* d j . j ) Else (* schedule j*at time t* *) Sj. := t*, C := C U{j*) For all j E V \ C d o (*update ES, and LS, *) ES, := max(ES,, Sj- d,.,) LS, := min(LSi, Si. - dip) E n d (*for *) E n d (*if*) E n d (*if *) E n d (*while *) E n d (* while *) S := SC Return S
+
+
Similarly t o the serial generation scheme, it can be shown that the time complexity of Algorithm 2.6.7 is O('iiJV12max[lRIIVI,q(lRI, IVI)]). To guarantee that the activities of one and the same cycle structure are scheduled directly one after another, we have to modify the basic version of the parallel generation scheme analogously to the serial scheme. Moreover, the parallel scheme can be adapted to the case where rik and Rk (i E V, k E R ) are no longer constant in the same way a s the serial scheme in Subsection 2.6.4.
92
Ch. 2. Minimization of Project Duration
(2.6.8) Remark. If the serial or the parallel generation scheme yield a feasible schedule S without calling procedure Unschedule, then for each activity i E V, Siis the earliest resource-feasible start time of activity i. Hence, there is no global left-shift from S, and S represents an active schedule. (2.6.9) Example. We return to the project of Example 2.6.6 for which we construct a schedule using the parallel generation scheme in combination with (static) rule GRD. Again, we start after the preprocessing phase. The resource demands ripi of activities i E V are listed in Table 2.6.3.
Table 2.6.3: Resource demands
Table 2.6.4 shows the individual iterations of applying Algorithm 2.6.2. Bold entries for j* and t* indicate that the selected activity j* E E is scheduled a t time t*. After having scheduled activities 2, 3, and 4, the earliest time- and resource-feasible start time t' for activity 1 in iteration 4 equals 6 > LS, = 5, and thus activity 1 cannot be started on time (cf. Fig. 2.6.4a). Accordingly, we unschedule and right-shift activities 2 , 3 E U by t* - LSl = 1 time unit and unschedule all activities i E C with Si > S2 = 0, that is, activity 4 is deleted from set C. The unscheduling of activities 2, 3, and 4 must be repeated after iterations 8 (cf. Fig. 2.6.4b) and 12 (cf. Fig. 2.6.4~). (a)
(c)
sC= (0, 0, 1,3)
= (0,2,3,5)
(b) SC = (0,L 2,4)
(d)
S = (0,3,4,5,7,8,10)
Figure 2.6.4: Gantt charts for generated (partial) schedules Since in iteration 13, we have ES, = ES2 = 3 and x(1) = 4 2 ) = 3, activity 1 is scheduled before activity 2, and no further unscheduling step is needed
3 (1) 1 6 U n s c h e d u l e ( 1 , l ) : E S := (0,3,1,2,3,5,7),L S := (0,10,7,10,10,11,13) 5 (0) {1,2) 1 ( 2 ) 2 1 LS1 := 6 6 {0,2) (1,3,41 2 13) 3 2 7 {0,2,3} {1,4) 3 {1,4) 4 4 ES4 := 4 1 1 4 ESI := 4 8 {0,2,3) {1,41 4 { 1 , 4 ) 4 4 1 1 7
until the algorithm terminates. Fig. 2.6.4d shows the resulting schedule S . Notice that S is not active (activities 2 and 3 can be left-shifted by four, activities 4 and 5 by three units of time). The example demonstrates that priority rule GRD (and similarly priority rules MTS and LPF), which does not take into account the latest start times LS, of eligible activities j E E, tends t o reach a deadlock where partial schedule S C cannot be extended t,o a feasible schedule without unscheduling some activities i E C. This observation will be confirmed by the results of the experimental performance analysis presented in Section 2.8.
94
2.7
Ch. 2. Minimization of Project Duration
Schedule-improvement procedures
Priority-rule methods determine only one feasible schedule S . If the deviation of the corresponding project duration Sn+1from (a lower bound on) the minimum project duration S:+, is too large, schedule-improvement procedures can be used t o find "better" feasible schedules S' with S;+, < Sn+l. Schedule-improvement procedures belong to the broad class of local search algorithms, which starting with one or several initial (feasible or infeasible) schedules, generate and evaluate neighboring schedules that may replace certain schedules currently under study. Neighbors S' of a schedule S are generated by applying some neighborhood operators t o (appropriate representations of) S . Performing local search can be viewed as walking in a finite directed neighborhood graph whose nodes correspond to certain feasible and infeasible schedules S and whose arcs ( S ,S') link neighboring schedules S and S'. For an introduction t o local search algorithms, we refer t o Aarts and Lenstra (1997, Ch. 1). In this section, we briefly sketch two scheduleimprovement procedures devised by Franck et al. (2001a), a genetic algorithm and a tabu search method. i,+l) with We represent a schedule S by an activity f st L = (io,il, . . . , in, io = 0 and in+1= n + l and where (al,. . . , i n )is a permutation of (1,.. . , n). L can be transformed into S by using the serial generation scheme with priority rule exthee x(h) = m i n { ~I h, E E ) , that is, the activity to be scheduled next is always the eligible xtivity i, with smallest index p. For activity list L, let + L be the strict order in set V defined by i, + L i, exactly if p < v. Strict order L is linear, that is, for any two different activities i , j E V, we have either i + L j or j +L a. Two different activity lists L and L' yield ) in all eligible sets one and the same schedule if orders + L and 4 ~coincide E which are computed in the course of the serial generation scheme. The number of activity lists corresponding t o one and the same schedule can be reduced by using the concept of so-called pecedence-feasible activity lists (see Hartmann, 1998), which take strict order 4c (cf. (2.6.4) and (2.6.5)) and the cycle structures of the underlying project network N into account. (2.7.1) Definition. An activity list L is called precedence-feasible if (a) for each cycle structure C of N, i, j E h E UC and (b) i +c j implies i + L j .
uCand i < L
h
+L
j imply
By replacing strict order + or 4c with strict order + L in Algorithm 2.6.4, the eligible set reduces to the singleton { j * ) , which contains activity j* to be scheduled next. Thus, (2.6.6) can be rewritten as
2.7. Scbeduleimprovement procedures
2.7.1
95
Genetic algorithm
A genetic algorithm works on a population consisting of several feasible or infeasible schedules called individuals. An individual is represented by a precedencefeasible activity list, which is transformed into a corresponding schedule S. The "quality" of the schedule is given by the jtness of the individual. In each iteration of the genetic algorithm, we select two different individuals (called father and mother) from the population. We obtain two new individuals (two children called daughter and son) by applying some crossover operator, which manipulates the activity lists of father and mother. With a certain probability, the two children are subject to mutation, and we finally obtain a new generation of the population by replacing two individuals with the two children. These steps are iterated until one out of several stop criteria is met. The parallel genetic algorithm proposed in what follows simultaneously works on several subpopulations of equal size (so-called islands, see e.g. Dorigo and Maniezzo, 1993). Each subpopulation evolves separately until after a given number mig of iterations, an individual migrates from one island to another. We choose the individual with the best fitness from a first island. That individual then replaces one individual with worst fitness on any other island if it is better than the latter. The migrating individual is always chosen from an island the smallest number of individuals have migrated from. To determine the activity lists of the initial subpopulations, we generate different precedencefeasible activity lists based on priorities determined randomly. Computational experience has shown that it is expedient to draw the random priority ~ ' ( i )for an activity i from interval [0.8a(i), 1 . 2 ~ ( i ) ] , where ~ ( iis) the value of one of the six priority rules from Subsection 2.6.3. Using the priorities ~ ' ( i )an , activity list is determined by choosing i, equal t o the activity with highest priority among the activities for which all +cpredecessors are contained in (sub)list (io,il, . . . , i,-,), v = 1,. . . ,n. If it is impossible to transform an activity list into a feasible schedule by the direct method within E unscheduling steps, we allow time-infeasibility by scheduling some activities i E V at times Si > LS,. The fitness of activity list L with corresponding schedule S is given by S(L) :=
+ (C(Si - LSi)+, EV
m a ~ [ s , + ~f ",( ( ~ ' ) ]
if S # ST
&+I,
otherwise
where F(L*) denotes the fitness of the best feasible individual L* (i.e. the shortest project duration) found so far. If a feasible schedule has not been found yet, we set T(L") := 2. Notice that an individual with best fitness is an individual for which the fitness f(L) is minimum. The selection of two parents for a crossover is performed according to a roulette-based selection strategy. To this end, we randomly choose a certain number of individuals of the current subpopulation, where the probability for
96
Ch. 2. Minimization of Project Duration
an individual to be chosen (figuratively speaking, the size of the individual's slot on a roulette wheel) is reciprocally proportional to its fitness. The best of the individuals chosen is selected to be the father. The selection of the mother is made analogously. We distinguish between two types of crossover, which are adaptations of crossover operations that have been used by Hartmann (1998) within a Let F be the father and M genetic algorithm for problem PSlpreclC,,. the mother of daughter D. For a one-point crossover, we randomly draw a number q from set {0, . . . , n 2). The first q activities of the activity list of D are taken from the amtivity list of F, and the remaining n 2 - q activities are taken from the activity list of M. If the qth activity belongs t o a cycle structure C and if there is at least one activity in U C that is not represented in D before activities are taken from M, we say that cycle structure C is cut. In that case, we take activities of UC which are not contained in D from mother M, where we start at the first position in the activity list of M. Then, we add the remaining activities from M to the still incomplete activity list of D starting a second time at the first position in activity list of M, that is, we add the missing activities according to their position in the activity list of M. Fig. 2.7.1 illustrates the case of a one-point crossover cutting some cycle structure C .
+
+
Figure 2.7.1: Onepoint crossover For the two-point crossover, we randomly select two numbers q~ and q2 with ql < qz from set (0,. . . , n 2 ) . The first ql activities of activity list of D are taken from F, the next q2 - ql activities are taken from M, and the remaining activities are again taken from F (cf. Fig. 2.7.2). If a cycle structure is cut, we proceed analogously t o the one-point crossover. If for the one-point or two-point crossover, we interchange the roles of F and M, we obtain a son. The children generated by crossover constitute precedencefeasible activity lists if the activity lists F and M a r e precedencefeasible (6.Ftanck and SeUe, 1998). A m u t a t i o n of an individual results from interchanging two consecutive activities i, and i,+l with p = 1, . . . , n of a child's activity list. For activities
+
2.7. Schedule-improvement procedures
97
Figure 2.7.2: Twepoint crossover
i, and i,+l, it must hold that i, +C z,+~ and either i,+l E V(i,) or (V(i,)l = IV(Z,+~)~ = 1 (compare (2.6.4)). Mutation occurs with a certain mutation probability pmUt. For the evolution of the subpopulations, we use the steady state strategy. After the crossover, the child generated is accepted if and only if its fitness is better than the worst fitness of all individuals in the subpopulation at hand. The child then replaces one of the individuals with worst fitness. Thus, the size of all subpopulations is constant over time. The genetic algorithm terminates if a t least one of the following five stop criteria is met: all individuals have the same fitness, a lower bound on the shortest project duration has been attained = rnax{LBR, LBD}), a prescribed number of schedules have been evaluated, a feasible schedule has not been found within a prescribed number of generations, or the best feasible schedule found has not been improved within a given number of generations. In summary, the genetic algorithm is as follows.
(S(L*)
(2.7.2) Algorithm: Genetic algorithm for PSI templC,,.
Determine initial activity lists for the islands based on random priorities. Compute the fitness of each initial activity list. Set gen := 0. Repeat For each island d o Select two parents of the subpopulation. Generate two children by one-point or two-point crossover. Mutate the children with probability p,,*. Compute the fitness of the children. Replace the worst two individuals of the subpopulation by the children if the children have a better fitness.
98
Ch. 2. Minimization of Project Duration
+
Set gen := gen 1. If gen is a multiple of mig t h e n perform migration. E n d (*for *) Until one of the five stop criteria is met. R e t u r n best schedule S found.
2.7.2
Tabu search
Tabu search is a well-known heuristic approach to solving combinatorial optimization problems. In each iteration of tabu search, the best (feasible or infeasible) schedule of a neighborhood of a current schedule is selected. The neighborhood is generated using some neighborhood operators. To avoid cycling in the search process, we keep tabu lists of schedules or neighborhood operators. Elements contained in a tabu list are said to be tabu. A schedule which is tabu cannot be selected, and a neighborhood operator which is tabu cannot be applied when generating the neighborhood. Intensification is used to explore subsets of the feasible region in more detail, whereas diversification allows the search process to investigate unvisited parts of the feasible region. For further details on tabu search, we refer to Glover and Laguna (1997). In the following, we briefly sketch the neighborhood operators, diversification, intensification, and the stop criteria of a tabu search procedure for problem PSI temple,,,,. This procedure is based on an algorithm by Baar et al. (1998) for problem PSlpreclC,,. As for the genetic algorithm, a schedule is represented by a precedencefeasible activity list. We obtain a neighbor L' of an activity list L by selecting a pair (i, j ) of activities from L to which we apply one of four different neighborhood operators. Let S be the schedule belonging to activity list L. To determine (i, j ) we first scan V for real activities j with start time Si > ESi := m a ~ ( ~ , . ) , ~+( Sbhj). ~ For each such activity j , we then determine activities i with i #C j that (due to a resource conflict) delay activity j up to S j , i.e., for which Si +pi = S j holds true. If i < L j, we apply the shift or swap operator, otherwise the back-shift or front-shift operator. In a first step, the operators change the position of activity i or j in the current activity l i t L. In a second step, the operators "repair" the new activity list in order to obtain a new precedence-feasible activity list L'. The four operators are illustrated in Fig. 2.7.3. First, we assume that i +t j. The shift operator removes activity i from activity list L and inserts it behind j . If V(i) # V(j), V(i) is placed behind the last activity of V(j), where the sequence of activities in V(i) and V(j) remains unchanged. The resulting list is repaired by appropriately shifting all activities 1 with i +c 1 and i < L 1 < L j behind V(i). The swap operator interchanges the positions of i and j in activity list L if V(i) = V(j), or the positions of V(i) and V(j) if V(i) # V(j). Subsequently, activities 11 with i +c l1 and i < L ll + L j are shifted behind V(i), and
2.7. Scheduleimprovement procedures
99
activities l2 with l 2 +c j and i + L l2 + L j are placed in front of V(j). Due to i AC j and the transitivity of
Swap:
Backshift:
Figure 2.7.3: Shift, swap, back-shift, and front-shift operators
The computation time needed for the transformation of an activity list into a schedule increases in the number of activities. To restrict the computational effort and to perform a sufficiently large number of iterations, we reduce the number of neighbors generated and investigated for large-sized instances (say, for n 2 200). To this end, we select only a prescribed number of activities j with largest differences Sj and determine only two activity pairs (2, j ) for each of these activities j (reduced neighborhood). We use three different tabu lists of given length for storing activity lists explored and neighborhood operators applied. The first tabu list contains activity lists, the second contains shifts and swaps, and the third contains back-shifts and front-shifts. Each time we move to a new activity list L, we pop an activity list off the tail and push L onto the head of the first tabu list (if the tabu list has not been filled yet, L is pushed without popping another activity list). If list L has been generated by a s h i i or swap operator applied to activity pair (i, j ) , we pop two elements off the tail of the second tabu list and add the pairs (i, j ) and (j,i) a t the head. Otherwise, L has been
100
Ch. 2. Minimization of Project Duration
generated by a back-shift or front-shift operator, and we pop two elements off the tail of the third tabu list and add the pairs (i, j) and (j,i) at the head. If the project duration has not been reduced within a given number of iterations, we perform the following diversification. When applying the neighborhood operators, we select the activity pair (i, j) according to a modified criterion: given activity j we determine activities i E V with i $c j and ESj < Si+p, 5 Sj (extended neighborhood). If this is not sufficient t o reduce the project duration, we diversify the current activity list L as follows. We generate a certain number (e.g. b/20]) of activity lists by randomly choosing pairs (i, j ) with i < L j and i $c j and applying the shift or swap operator t o list L because those two operators induce the largest number of changes in an activity list. We then select a list with best corresponding schedule to be the current list. After a prescribed maximum number of iterations or after the evaluation of a given maximum number of schedules (stop criteria), we perform intensification before stopping the algorithm, that is, we return t o the best schedule found. I t turns out t o be expedient to perform three iterations twice, where we restart with empty tabu lists and the best activity list found so far. After the intensification phase, the tabu search algorithm is terminated. If we cannot transform an activity list L into a feasible schedule within G unscheduling steps by the direct method, we allow resource-infeasible schedules. The cost function value ?(L) of activity list L with corresponding schedule S (the analogue to the fitness in genetic algorithms) is given by -
S(L):=
max[s.+l,
?(mi+
Ld(rk(s.t) - ~ ~ ) + d ift .s G SR kc72
otherwise where ?(L*) again denotes the project duration of the best feasible schedule found thus far (if no feasible schedule has been found yet, ?((L') again equals 2). The tabu search procedure is summarized in Algorithm 2.7.3.
(2.7.3) Algorithm: Tabu search for PSltemplC,,. Find an initial schedule S by the direct method. Determine a precedencefeasible activity list L corresponding t o S. Repeat For all real activities j E V with Sj > B h j ) , determine the activities i E V with Si + p i = S, and i pc j (if necessary, use the extended or reduced neighborhood). For all non-tabu activity pairs (i, j ) determined d o If i < L j t h e n apply shift and swap operator to list L. Else apply backshift and front-shift operator t o list L.
+
2.8. Experimental performance analysis
101
For resulting activity lists L', compute corresponding schedules S' by the serial generation scheme. End (*for *) Select a non-tabu activity list L' with smallest ?(L'). Set L := L' and update the three tabu lists. If within a certain number of iterations, the project duration of the best feasible schedule found has not been reduced, apply diversification. Until one of the two stop criteria is met. Perform intensification. Return best schedule S* found.
2.8
Experimental performance analysis
In this section, we discuss the performance of the different procedures presented for (approximately) solving problem PSltemplC,, (exact and truncated branch-and-bound algorithms, priority-rule methods, and scheduleimprovement procedures). The performance of a heuristic, which determines only an approximate solution in general, can be characterized by several criteria, for example, computing time per problem instance, percentage of instances solved to feasibility, and accuracy of the feasible schedules determined. For problem PSltemplC,,,,, the accuracy of a feasible schedule S is given by the relative deviation of the corresponding project duration S,+1 from the shortest project duration S;,, or from a lower bound LB on S;,,. To generate appropriate problem instances for a performance analysis, a project generator ProGen/max has been developed by Schwindt (1996, 1998b), which provides test sets of problem instances. The random generation of projects can be affected by means of several control parameters. There are control parameters for the problem size, network structure, activity durations, time lags, and resource constraints. The different control parameters will be discussed in more detail in Subsection 2.8.1. The results of an experimental performance analysis, which is based on a ProGen/max test set, will be presented in Subsection 2.8.2.
2.8.1
Random generation of projects
In principle, the generation of projects is as follows (for details see Schwindt, 1996). First, set V of activities is generated and a duration pi is assigned to each real activity i = 1,.. . ,n. Then, an acyclic skeleton of the project network N, i.e. a weakly connected, acyclic directed graph G with node set V, is constructed. Next, backward arcs are added t o G transforming the acyclic skeleton into a cyclic pre-net.work G (i.e. a project network N without arc weights). The backward arcs either generate new cycle structures, extend existing cycle structures, or "densify" existing cycle structures. Whereas the
102
Ch. 2. Minimization of Project Duration
extension of a cycle structure C augments node set U C of C, the generation of new cycles within cycle structure C during the densification phase does minimum and maxnot alter UC.After the construction of pre-network imum time lags are assigned to the arcs of such that the resulting project network N does not contain cycles of positive length. The parameter-driven sampling of resource requirements and resource capacities concludes the project generation. In what follows, we briefly review the main control parameters and discuss their impact on the hardness of problem instances. The hardness of an instance may be measured by the computation time an exact algorithm needs for solving that instance (either by showing that S = 0 or by proving the optimality of some schedule S found). This concept of instance hardness always refers to the solution algorithm at hand. Thus, there may be instances which are hard with respect to some algorithm and easy when using another. Nevertheless, the control parameters which will be discussed below have proved to affect instance hardness with respect to all branch-and-bound procedures dealt with in Subsections 2.5.4 and 2.5.6. The control parameters for the problem size are the number n of real RI of resources. Whereas the number of activities activities and the number I shows a strong impact on the hardness of problem instances, the computation times of branch-and-bound algorithms are less sensitive with respect to the number of resources. This is due to the fact that the number of alternatives which have to be considered when resolving resource conflicts or extending partial schedules exponentially increases in n but is essentially independent of the number of resources. The main control parameters for the network structure are the (approximate) restrictiveness of the acyclic skeleton G, the number of cycle structures in pre-network C?, and the number of nodes per cycle structure. The restrictiveness P measures the degree to which the precedence relationships between the activities in acyclic skeleton G restrict the number of feasible activity sequences. Let -+ denote the (strict) topological order in set V, where for i , j E V, i # j , i +T j precisely if there is a path from i to j in G (cf. Definition 1.4.6). The transitive reduction of G coincides with the precedence graph G+T of strict order 4 ~ The . number of all possible sequences of real activities 1,.. . , n equals n!. Let ll be the number of all precedence-feasible sequences of activities 1,.. . ,n in G, i.e. the number of permutations (il,. . . ,in) of (1,.. . ,n) such that
e,
i,
-+ iu implies p < v
for p , v = 1 , . . . , n and p # v. In other words, ll is the number of all linearorder extensions of strict order +-. Then the restrictiveness P is defined by log n p:= 1 - log n!
2.8. Experimental performance analysis
-
103
Obviously, 0 5 P 5 1. Moreover, II = n! and thus P = 0 for a parallel directed graph G (see Fig. 2.8.1), and II = P = 1 for a series directed graph G (see Fig. 2.8.2).
...
Figure 2.8.2: Series directed graph G
Figure 2.8.1: Parallel directed graph G
The determination of II and hence of P represents a #P-complete enumeration problem (which means that for given positive integer M, the decision problem whether or not ll 5 M is NP-complete). Thesen (1977) has recommended t o approximate the restrictiveness P of G by the so-called order strength OS of strict order +T:
where
I +T I is the number of pairs (i, j ) with i +T pij :=
j and
1, i f i = j o r i 4 ~ j 0, otherwise f i , jE
v)
indicates the reachability of node j from node i in directed graph G. ( p i j ) i,jEv is termed the reachability matrix of G. Of course, 0 5 OS 5 1, OS = 0 for a parallel directed graph G, and OS = 1 for a series directed graph G. As a rule, the lower the order strength OS of a project the harder is the problem of finding an optimal schedule (cf. De Reyck, 1995). The reason is that a large number of nodes which are not reachable from each other in the acyclic skeleton induce a large number of feasible activity sequences, whereas in nearly series project networks (almost) all resource conflicts can only be resolved in a unique way. The approach to generating acyclic skeleton G consists of three phases. First, a weakly connected directed graph is constructed by assigning a predecessor t o each non-initial activity and a successor to each non-terminal activity and by linking the initial activities with node 0 and the terminal activities with node n + 1. In a second phase, non-redundant arcs preserving the acyclicity of G (i.e. arcs (a,j ) with pij = 0 and pji = 0) are added t o G as long as the order strength of G is less than the prescribed minimum order strength. From (2.8.1) it immediately follows that the order strength increases exactly if non-redundant arcs are added t o G. The generation of G
104
Ch. 2. Minimization o f Project Duration
is completed in phase three by the addition of redundant arcs, which do not alter the order strength of G. Note that redundant arcs (i,j)may correspond to non-redundant temporal constraints Sj - Si 6ij. Having generated acyclic skeleton G, we obtain the prenetwork by creating cycle structures in G. Let - denote the (i, jj-element in the squared reachability matrix (pi,)i,j,v of G, where li, = 1 if i 5T j and pij = 0, otherwise (cf. Remark 1.4.9b). The number of cycle structures and the number of nodes per cycle structure can be controlled by using the property that $) equals the number of nodes of the cycle structure which arises from introdicing arc (i,j) in G (cf. Schwindt, 1996). When assigning time lags to the arcs of G, the tightness of maximum time lags can be controlled by a specific parameter which allows the generation of maximum time lags between a lower bound (such that activities are pulled taut) and an upper bound (such that the existence of feasible subschedules is guaranteed for all cycle structures). As a rule, the computation time for finding feasible schedules increases when increasing the number and size of cycle structures and increases in the tightness of time lags. As far as the computational effort for computing optimal schedules is concerned, the occurrence of a large number of tight maximum time lags rather facilitates problem PSI templC,,,,. Parameters controlling the tightness of resource constraints are the resource factor and the resource strength (cf. Kolisch et al., 1995). The resource factor R F is defined as the average fraction of the (RIresources used per real activity:
>
di)
where d(r) :=
1, f o r r > O 0, for r = 0
<
Obviously, 0 5 R F I . The computing time increases as R F increases. The resource strength RS measures the scarcity of resources and is defined bv
where
R y
:= max ri, iEV
(k E R)
is a lower bound on the availability of resource k and
is an upper bound on the availability of resource k. r k ( E S t, ) represents the utilization of resource k at time t given the earliest schedule ES (which is
2.8. Experimental performance analysis
105
known from temporal project scheduling). Note that (2.8.2) says that given RS, capacity Rk has t o be specified such that
Obviously, 0 5 RS 5 1. If RS = 0, i.e., Rk = R p (k E R), only the minimum capacity required is available, and some activities which use the same resource have t o be carried out one after the other. More precisely, for each resource k E R,there is a real activity i which cannot be carried out simultaneously with any activity j # i that requires resource k as well. Then for a forbidden active set F with C h E F r h k > Rk and i E F ,there is only one minimal delaying alternative B that does not contain i . In general, the number of minimal delaying alternatives to be examined when resolving resource conflicts is relatively small if resources are very scarce. If R S = 1, i.e., Rb = R y (k E R ) , the maximum capacity used is available. That is, each activity i can be begun at its earliest start time ES,, and thus the earliest schedule E S represents an optimal schedule. Hence, for R S = 1, the computational effort of e x x t procedures is very small. For branch-andbound algorithms based on the relaxation of resource constraints, instances with RS = 0 are generally better tractable than instances for which the resource capacities allow the overlapping of a larger number of activities. The computing time considered a function of RS then corresponds t o some bellshaped curve (cf. Elmaghraby and Herroelen, 1980). For n = 20, the maximum computing time is assumed for RS = 0.25 as numerical tests have shown. This maximizer decreases as n increases. It has turned out that the control parameters n, OS, and RS have the strongest impact on the hardness of problem instances (cf. Schwindt, 1998a). For generating a representative test set of projects which includes easy and hard instances, we have systematically varied those three control parameters. In the following subsection, we are going to discuss the results of an experimental performance analysis which is based on this test set.
2.8.2
Computational experience
In analogy to Subsection 2.5.5, the accuracy of a feasible schedule determined by a heuristic H is measured by the average relative error of the corresponding project duration. Let Z be the test set under consideration and ZH Zbe the set of instances for which heuristic H has found a feasible schedule. Moreover, ) the project duration S,+l for feasible schedule S computed by let ~ H ( Ibe heuristic H for instance I E Z H ,and let f*(I) > 0 be the shortest project duration for instance I. Then the average relative error, that is the average relative deviation of the project duration computed by heuristic H from the shortest project duration is
106
Ch. 2. Minimization of Project Duration
If f*(I) is not known, we replace f * ( I ) in (2.8.3) by lower bound LB = max(LBD, LBW) on f * ( I ) . AH represents an upper bound on the mean error of the project duration computed. We say that heuristic HI provides better schedules than heuristic Hz on the average if AH, < AH,. Recall that if for some positive E , [fH(I) - fe(I)]/f*(I) 5 E for all instances I , then heuristic H is said to have a performance guarantee of E . Now we list some results of an experimental performance analysis, which are taken (in part) from Franck et al. (2001a). Since PSltemplC,, is an NPhard optimization problem, we cannot expect branch-and-bound algorithms to terminate enumeration within a reasonable amount of time. That is why we allot a maximum computation time to the execution of the algorithm after which the best solution found (if there is one) is returned. The performance of such a branch-and-bound algorithm (truncated by computation time) can be assessed by distinguishing between four mutually exclusive cases: within the imposed time limit, either the instance under consideration is solved to optimality and optimality is proven, or it is shown that no feasible schedule exists, or a feasible schedule is found but the enumeration is not completed, or no feasible schedule is found and the enumeration is not completed. The corresponding performance criteria are (i) the percentage of instances for which an optimal schedule is found and optimality is proven (pTt), (ii) the percentage of instances for which insolvability is shown (pi,,), (iii) the percentage of instances for which a feasible schedule is found whose and optimality cannot be shown (p,,,,), (iv) the percentage of instances for which solvability status is unknown, that is, neither a feasible schedule is found nor insolvability is shown (punk).
The different heuristics are evaluated on the basis of three performance criteria: (i) the percentage of instances for which either a feasible schedule is found or which are shown to be insolvable heaS), (ii) the mean percentage deviation dmLB of the project duration found from lower bound LB, and (iii) the mean computation time in seconds (t,,). Whereas pf,,, and ,t refer to all instances, d e v corresponds ~ ~ to the average deviation from lower bound of those instances which could be solved to feasibility by the respective heuristic. Thus, for different procedures, d e v ~ ~ may be based on different sets of instances. Instances which are hard to solve to feasibility typically contribute to an increase in dewLs. The parameters have been chosen as n E {10,20,50,100,200,500,1000}, IRI = 5, OS E {0.25,0.5,0.75), RF = 0.75, and R S E {0.0,0.25,0.5}. Ten instances have been generated for each combination according to a fullfactorial design. 533 out of the 630 instances possess a feasible solution. For
2.8. Experimental performance analysis
107
the remaining 97 instances, insolvability could be shown either by preprocessing or by the bb decomposition methods. Table 2.8.1 lists the percentage of solvable instances as a function of n.
Table 2.8.1: Percentage of solvable instances
The tests have been performed on a 333 MHz clock pulse PI1 personal computer running Windows NT 4.0 as operating system. For the branchand-bound algorithms and the truncated branch-and-bound procedures, we have imposed a time limit of n seconds. The performance guarantee E for the performanceguarantee algorithm has been chosen equal to 0.05. The maximum number a of calls to procedure Unschedule for one execution of the direct priority-rule method has been fixed to 1 0 6 . For the genetic algorithm, the number of islands and the size of the subpopulations per island have been chosen as 5 and 50, respectively. The initial five subpopulations have arisen from biasing the values of priority rules LSTd, MSTd, MTS, LPF, and RSM. At first, we compare the performance of the branch-and-bound algorithm from Section 2.5.4 (Algorithm 2.5.16) with the performance of the variant where (ordinary) precedence constraints between activities are replaced with disjunctive precedence constraints between sets of activities (compare Subsection 2.5.6). Since the test set contains projects with hundreds of activities, for both variants of Algorithm 2.5.16 and all truncated branch-and-bound algorithms, preprocessing is restricted to the pairs (h, I) = (2, j ) and (h, I ) = ( j ,i) breaking up forbidden sets {i, j). This reduces the time complexity of Algorithm 2.5.12 t o U(rnax(lRIIVIZ,IVI4)). Moreover, recall that the number of minimal delaying alternatives generally grows exponentially in the cardinality of the active set A(S, t). That is why we replace minimal delaying alternatives by singletons B = {j) if (A(S,t)l > 10. Thus, the number of child nodes emanating from an enumeration node is of order O(IV12) for the case of ordinary precedence constraints and O(IV1) for the case of disjunctive precedence constraints. Table 2.8.2: Comparison of branch-and-bound procedures
Compared to ordinary precedence constraints, the use of the less restrictive disjunctive precedence constraints leads to a significant decrease in the
108
Ch. 2. Minimization of Project Duration
size of the enumeration tree. Despite the additional effort required for computing schedules with minimum project duration on the (nonconvex) search spaces, the savings in enumeration nodes allow an increase in the number of instances solved to optimality (cf. Table 2.8.2). The number of instances for which the enumeration is truncated without having found a feasible schedule is (slightly) decreased by using disjunctive instead of ordinary precedence constraints. Both variants of the branch-and-bound procedure can identify all unsolvable instances within the prescribed time limit. For about fifty percent of all instances, the enumeration can be completed. Nevertheless, in approximately twenty percent of the cases, the algorithms are truncated before having found a feasible schedule. Next, we consider the different truncated branch-and-bound procedures, where all methods are based on the enumeration scheme with disjunctive precedence constraints. For both decomposition methods, half of the available computation time is allotted to the scheduling of the individual cycle structures C and the remaigng time is used for solving the problem instance on the extended network N. As shown in Table 2.8.3, the decomposition methods determine a feasible schedule for all 533 solvable instances. However, we pay for this reliability with a high deviation from lower bound LB compared to the performance-guarantee algorithm and filteredJearn search. In contrast to decomposition method 1, the extended network N constructed by decomposition method 2 contains cycles of negative length, that is, not all activities of a cycle structure are pulled taut. This flexibility leads to a significant decrease of devLB. Due to the imposed time limits, the enumeration is generally incomplete when the algorithm stops. Nevertheless, the a priori restriction in size of the enumeration tree allows the filtered beam search t o (briefly) visit different parts of the complete enumeration tree and thus t o solve more instances to feasibility than the performance-guarantee algorithm.
Table 2.8.3: Comparison of truncated branch-and-bound procedures Perf. guarantee Bb decomp. 1 Bb decomp. 2 Filt. beam s. Pfeas
92.31%
100.00%
100.00%
94.75%
Table 2.8.4 compares the performance of the six different priority rules for the serial generation scheme of the direct method. The results of an experimental performance analysis described in Franck and Neumann (1998) indicate that (in particular if using several priority rules and selecting the best schedule) the serial generation scheme performs better on the average than the parallel generation scheme both with respect t o pf,,, and d e v ~ ~ . This is due to the fact that the parallel generation scheme can be viewed as a special case of the serial generation scheme with the dynamic smallest
2.8. Experimental performance analysis
109
earliest start time first rule as primary priority rule. Hence, for one and the same project, the diversity of schedules generated by using several priority rules in combination with the serial scheme is larger than for the parallel scheme. Table 2.8.4 shows that the LSTd rule outperforms the five remaining rules, as far as the number of problems solved t o feasibility and the mean deviation from lower bound are concerned. Priority rule GRD shows the worst performance with respect to all three criteria, where the relatively high computation t i e indicates that this rule may lead to a large number of unscheduling steps. Notice that in contrast t o the performance-guarantee algorithm and filtered beam search, the direct method with rules LSTd and RSM solves all instances to feasibility. This is mainly due t o the fact that for large instances, activities can be unscheduled much faster by procedure Unschedule than by backtracking in a depth-first search tree. Table 2.8.4: Comparison of priority rules for direct method LSTd MSTd MTS LPF GRD RSM p,,,, 100.00% 99.81% 99.62% 99.25% 98.69% 100.00% devLB 16.10% 17.91% 16.57% 16.68% 21.02% 17.10% 9.06 8.89 11.50 8.93 9.01 8.99 twu The results for the direct method and the two priority-rule decomposition methods are given by Table 2.8.5. All instances are solved to feasibility by each of the three heuristics, where we use the five priority rules LSTd, MSTd, MTS, LPF, and RSM and select a best of the schedules generated. By the latter approach, the least mean deviation dewLB in Table 2.8.4 (corresponding to rule LSTd) is decreased from 16.1% to 14.6%. Since the running time of the priority-rule methods is small, it is generally recommended t o use several rules. In contrast to truncated branch-and-bound procedures, the decomposition approach does not prove useful for priority-rule methods because the direct method is faster and solves all instances to feasibility. Similarly to the results displayed in Table 2.8.3, in particular using pr decomposition method 1 results in a large deviation from lower bound LB. Table 2.8.5: Comparison of priority-rule methods
Pfeas
Direct meth. Pr decomp. 1 P r decomp. 2 100.00% 100.00% 100.00%
We now turn t o the schedule-improvement procedures. Table 2.8.6 depicts the results for the genetic algorithm and tabu search heuristic. Both
Ch. 2. Minimization of Project Duration
110
algorithms are quite time-consuming, however, they provide better schedules. The genetic algorithm performs slightly better than the tabu search procedure but requires more computing time. Table 2.8.6: Comparison of schedule-improvement procedures
Pfeas
~ ~ V tvu
Genetic algorithm Tabu search 100.00% 100.00% 11.12% 12.61% L B 1625.39 1894.75
Finally, we examine how truncated branch-and-bound procedures, priority-rule methods, and schedule-improvement algorithms behave when solving small instances on the one hand and large instances on the other hand. Table 2.8.7 provides the results for the 360 projects with n 5 100. Table 2.8.8 refers to the remaining 270 instances of the test set with n 2 200. We compare the best truncated branch-and-bound procedure (filtered beam search), the best priority-rule method (direct method using the best five priority rules), the genetic algorithm, and the tabu search approach. When coping with small projects, filtered beam search and the genetic algorithm seem t o be best. In a relatively short computing time, (almost) all instances are solved to feasibility and devLB is smaller than for the remaining algorithms. For large projects, the direct priority-rule method should be used. If enough computation time is available, scheduleimprovement procedures provide substantially better schedules. We point out that the small value of deVLB for filtered beam search is due to the low percentage pf,,, of instances solved t o feasibility. Table 2.8.7: Comparison between filtered beam search, direct method, genetic algorithm, and tabu search - "small" instances with n 5 100
Pfeas
Filt. beam s. Direct meth. Genetic algorithm Tabu search 99.66% 100.00% 100.00% 100.00%
Table 2.8.8: Comparison between filtered beam search, direct method, genetic algorithm, and tabu search - "large" instances with n 2 200
Pfeas
Filt. beam s. Direct meth. Genetic algorithm Tabu search 88.70% 100.00% 100.00% 100.00%
2.9. Application to rnaketo-order production in manufacturing industry
111
Eventually, we summarize the pros and cons of the different heuristic Truncated branch-and-bound algorithms are recommended when dealing with small projects where filtered beam search performs best. For scheduling projects with hundreds of activities, priority-rule methods should be used. Within less than one minute of computing time, the direct method using several priority rules provides feasible schedules with relatively small deviation from lower bound LB. This deviation can be considerably reduced by schedule-improvement procedures, where the genetic algorithm seems to outperform the tabu search approach. Compared to the direct method, both the truncated branch-and-bound algorithms and schedule-improvement procedures are quite time-consuming. If in case of S # 0 we want the algorithm to compute a feasible schedule without fail, we recommend bb decomposition method 2 (without t i e limit). If in addition a performance guarantee of E has to be met, we have to use the performance guarantee algorithm (without time limit). In practice, this will only be possible for small projects or for projects with large order strength or large resource strength.
methods proposed.
2.9
Application to make-to-order production in manufacturing industry
In this section, we show how maketoorder production planning in manufacturing industry can be modelled as a problem of type PSltemplC,,. We speak of make-to-order production if all products are manufactured in response to firm customer orders, that is, no inventories are built up for future sale. In addition to given customer orders, prescribed delivery dates for these orders have to be met. Make-to-order production is typical of single-item and small-batch production. It is well-known that m a k e t o o r d e r production becomes more and more important in practice, whereas mass production for the market is decreasing. The execution of a customer order, which may contain several products of a firm, can be regarded as a project to be performed. The manufacturing of the gross requirement for a product, which is equal to the production lot size, is termed a job. The processing of a job on one machine (which represents a renewable resource) is called an operation. An operation corresponds to an activity of the project in question. Maketo-order production planning then consists of determining a machene schedule which (i) minimizes the makespan (i.e. the latest completion time of any job), (ii) satisfies the primary requirement for each final product, (iii) complies with the limited capacity of the resources or respectively machines. (iv) observes the delivery date for each customer order, and
112
Ch. 2. Minimization of Project Duration
(v) allows for overlapping of operations, without interrupting any operation. We will comment on condition (v) later on. At first, we review some basic concepts From material requirements planning (for details, we refer to Nahmias, 1997, Ch. 6, or Neumann, 1996, Ch. 4). A final product or end item is the output of the underlying productive system, that is, a product which is shipped out the door. Components or intemediate products are items that are in intermediate stages of production. Raw materials, which enter the system, are also viewed as components. The external demand for a product is called its prirnay requirement. Note that there may also be a primary requirement for some components that do not represent end items (for example, spare parts). The secondary requirement for a component A is the amount of item A required t o produce all items at higher production levels. The sum of the primary and secondary requirement for a product is called its gross requirement. The product structure of a firm can be represented by a so-called gozinto graph (the name is a parody of "the part that goes into"). A gozinto graph is a weighted directed graph whose nodes correspond to the products. The final products correspond to the sinks of the gozinto graph at the highest production level, and the raw materials correspond to the sources a t the lowest level zero. There is an arc (h, 1 ) from node h t o node I with weight aM if ahl units of item h are required to produce directly (i.e, not via "intermediate items") one unit of item I. We call ahl the input coeficient. For simplicity, we only consider acyclic gozinto graphs, which are typical of manufacturing industry. Fig. 2.9.1 illustrates a gozinto graph of a product structure with raw materials a, b, c, and d, intermediate products A, B, and C,and final products I and II. Production level 2
1
0 Figure 2.9.1: Gozinto graph of a product structure Suppose that the items of the product structure are numbered 1 , 2 , .. . , m. Let y h be the given primary requirement, sh be the secondary requirement, and ah be the gross requirement for item h. Then it holds that
2.9. Application to make-to-order production in manufacturing industry
113
where we set ahl := 0 if there is no arc &,I) in the gozinto graph. Hence, given the primary requirements for the final products and possibly some components, the gross requirements for all items can be computed by solving a system of linear equations. This process of finding the gross requirements is also known as the product explosion or bill of materials explosion. Next, we show that the problem of determining a machine schedule which satisfies conditions (i) to (v) listed above can be formulated as a project scheduling problem of type PS ltemplC,,. First, it is obvious that condition (i) implies that the objective function to be minimized is the project duration. Second, we deal with conditions (ii) and (iii), which provide the resource constraints. Suppose that several different machine types are required for carrying out the jobs. Each job has to be processed on several machine types in a prescribed order given by the so-called process plan. Consider a job which corresponds to the gross requirement x for some product. Let operation 0,stand for the processing of the job on machine type Mi.Moreover, let fii be the setup time of the job on machine type Miand ri be the processing time of one unit of the respective product on Mi. Then pi = 19i xri is the execution time or duration of operation 0;. Each machine type corresponds to a renewable resource. If R identical machines of type Miare available, the capacity of resource Miequals R. If operation Oi is carried out on machine type Mi, the demand for resource Mi by the activity corresponding to Oiequals one. The resource constraints then the resource ensure that at any point in time and for each machine type Mi, requirements for all jobs to be processed on Mido not exceed the capacity of Mi. Third, we show that conditions (iv) and (v) lead to temporal constraints. Condition (v) allows for overlapping of operations, without interrupting any operation. The latter requirement is essential in practice due to plant organization and order control and leads to better utilization of resources. By the overlapping of operations we mean the following: Suppose that an item has to be processed on machine type Mj immediately after being processed on machine type Mi.If the transportation lot size of that item from a machine of type Mit o a machine of type M iis smaller than the production lot size (i.e. the gross requirement) for that-part, some units of the part may be transferred from Mito Mj before the processing of the whole production lot on Miis completed. Such an overlapping of operations can reduce the makespan substantially.
+
(2.9.1) Example. Consider an item with production lot size of three and transportation lot size of one, that is, the part is transferred from Mito M j piece by piece. Fig. 2.9.2 shows the case T, > rj,that is, the unit processing time on M iis larger between the than on M j . We have to introduce a minimum time lag start of operation Oi(i.e. processing the part on Mi)and operation 0, (i.e.
Ch. 2. Minimization of Project Duration
114
processing the part on M,). If the time lag were less than F ,operation 0, would be interrupted. Fig. 2.9.3 shows the case where ~i 5 T, and the setup time Gi is much smaller than 19j. We have t o introduce a maximum time lag between the start of operations 0, and Oi to avoid an interruption of Oj.
y
Figure 2.9.2: Processing on Mi and M j with minimum time lag
Figure 2.9.3: Processing on Mi and M, with maximum time lag In the general case of a production lot size x and a transportation lot size z , where x f z is assumed t o he integral, the following time lag 4, between the start of two successive operations Oi and O j guarantees that O j can be carried out without interruption: &j
:=
19i
0i
+ z s - f l j , for ri 5 rJ
+ X T i - 24) - (x- z ) T ~for, Ti > Tj
(2.9.1)
:= dij between the start of Oi If d, 2 0 in (2.9.1), a minimum time lag and O j is required. If dij < 0, a maximum time lag := -dij between the start of 0, and Oi is necessary. In the case where a transfer time tii of the item from Mi to M j occurs, we have to add tij t o 4,. Instead of the overlapping of two operations of one and the same job or respectively product, the last operation 0, for an item h and the first operation 0, for a different item 1 may overlap, where (h, I } is an arc in the gozinto graph of the product structure. The case just discussed refers t o a linear product stmcture, where all input coefficients equal one, that is, each item has at most one immediate
y
2.9.
Application to make-to-order production in manufacturing industry
115
Production level X+1
Linear product structure
Convergent product structure
General product structure
Figure 2.9.4: Different product structures
predecessor and a t most one immediate successor in the gozinto graph (see Fig. 2.9.4). Formula (2.9.1) can be generalized t o the case of a convergent product structure (cf. Neumann and Schwindt, 1997), where each item has at most one immediate successor in the gozinto graph, that is, the gozinto graph represents an intree (cf. Fig. 2.9.4). If in the latter case, one and the same item is processed on machine type Mj (operation Oj) immediately after being processed on machine type Mi (operation Oi), the time lag dij between the start of operations Oi and 0, given by (2.9.1) again ensures that Oj can be carried out without any interruption. Now we consider the case where a part h (say, a component or subassembly) has to be installed into a part 1 ( a subassembly or final product), and part h has to be processed on machine type Mi last of all (last operation Oi in the process plan for product h) and part 1 must be first processed on machine type Mi (first operation in the process plan of product 1). If ahi units of item h are required for one unit of item 1 (input coefficient ahl), then the time lag d: between the beginning of setting up a machine of type Mi for part h and setting up a machine of type M j for part 1 is given by
Note that in (2.9.2), xi is the production lot size of product 1, and ~h is the transportation lot size of part h, where zh is assumed t o he a multiple of ah1 and a divisor of ahlxl. Again, if there is a transfer time tijfrom M, t o Mi, we have t o add tij to d:. For a general product structure, where the gozinto graph represents an arbitrary acyclic directed graph, the determination of appropriate time lags becomes much more complicated. In this case, scl-called common parts may occur, that is, parts h which are components of more than one other part at a higher production level, say parts 1 and 1' (see Fig. 2.9.4). Here, the sequences in which finished units of product h are t o be assigned to the units of products 1 and 1' must be determined in addition. This leads t o a so-called assignment sequence problem (cf. Neumann and Schwindt, 1997), whose objective function t o be minimized is the maximum completion time of products 1 and 1'.
116
Ch. 2. Minimization of Project Duration
Finally, we briefly discuss the construction of t h e project network In adwhich corresponds to the project scheduling problem PSltemplC,,. dition, we show that condition (iv) can be met by introducing appropriate maximum time lags. Suppose that the product structure is again given by a gozinto graph. Then each node of the gozinto graph that corresponds to a product manufactured (i.e., it does not represent some raw material), is replaced by the sequence of operations which make up the respective job. The individual operations are again assigned to nodes. That is, each job corresponds to a path from its first operation node to its last operation node in the resulting project network. The arc weights correspond to the minimum and maximum time lags introduced above.
Figure 2.9.5: Gozinto graph of Example 2.9.2 (2.9.2) Example. We consider the gozinto graph of a product structure without arc weights shown in Fig. 2.9.5. Assume that product or job A consists of the sequence of operations Al,A2. Moreover, B consists of the sequence B1, B2, Bs, and I consists of the sequence Zl, Zz, whereas product ZZ is processed only on a single machine type. Omitting the raw materials a and b, we then obtain the AoN network N' with the solid-line arrows (without arc weights) depicted in Fig. 2.9.6. Furthermore, we have to introduce a new source u and a new sink w , which correspond to the beginning and completion of the respective project. We add arcs from source a to the sources of network N' with weight zero and an arc from each sink s of N' to sink w whose weight equals the duration of the operation corresponding to sink s. The additional arcs are illustrated by bold-line arrows in Fig. 2.9.6.
Now assume that by condition (iv), a delivery date or deadline a h for some final product h is prescribed, and let O3h be the last-operation of job h with duration pjh. Then a maximum time lag := dh - pjh between project start and the start of operation O j h is given, which corresponds to an arc from operation node O j h to node u (which thus no longer represents a source). If in Example 2.9.2, we assume that deadlines & and & for end items I and ZI, respectively, are prescribed, we introduce backward arcs from Zz and I1 to node u again shown by bold-line arrows in Fig. 2.9.6. The resulting AoN project network is denoted by N. It may happen that some final product or component is ordered by different customers with different delivery dates. In this case, a node (in the gozinto graph or the AoN project network) corresponds to each pair consisting of product and delivery date.
e,;;
2.10. Regular objective functions different from project duration
117
Figure 2.9.6: AoN project network N of Example 2.9.2
2.10
Regular objective functions different from project duration
In this section, we consider scheduling problems where a general regular objective function f instead of f ( S ) = S,+] has to be minimized on the feasible region S. Recall that an objective function is called regular if it is nondecreasing in the start times of activities i E V, that is, S 5 S' implies f (S) 5 f (S'). The problem where in (2.1.5) is replaced by an arbitrary regular objective functions f is denoted by PSltemplreg in the three-field notation by Brucker et al. (1999). feasible schedules S minimizing f on set S In analogy to PSltemplC,,, are called optimal schedules. Since f is componentwise nondecreasing, f is bounded from below by f ( E S ) . Observing that set S is closed, it then follows that there is an optimal schedule exactly if there is a feasible schedule. Exploiting the regularity of objective function f , we obtain
(2.10.1) Remarks. (a) For ST # 0, the earliest schedule E S is timeoptimal, that is, E S minimizes f on set ST. (b) If S # 0,there is an optimal schedule for PSItemplreg which is active. When dealing with algorithms for PSltemplreg, we need an upper bound on the project duration of an optimal schedule. We use the following
(2.10.2) Proposition. d := Cis" max(pi, max(i,j)s~ 6aj) is an upper bound on the project duration for any quasiactive schedule, i.e., 5 2 for all S E &AS. -
118
Ch. 2. Minimization of Project Duration
Proof. Let S be a quasiactive schedule. Then the longest path length from node 0 t o node n + l in network N(O(S)) coincides with S,+Iand is hounded from above by Cievmax(pi, max(i,j)E~ bij).
If make-to-order production is modelled as a project and due dates (instead of deadlines) for the delivery of final or intermediate products are t o be met, the maximum lateness of any activity may be an appropriate performance measure. Let dj E Zta be the prescribed due date for activity i (if no due date is given, we set d, := a), then Li := Si +pi - d, is the lateness of activity a. The maximum lateness corresponds t o the regular objective function f t o be minimized given by f (S) = %v(Si
+ P, - di)
(2.10.1)
Another regular measure of project performance is the so-called (mean) weighted pow time CiEvwfF,/(n + 2), where wf 2 0 is a weighting factor describing the importance or urgency of activity i, and Fi := C1 - Tt- Si +p i - ri is the j o w time of activity i with ri E Z t o being the release date of activity i. The mean flow time CiEvFi/(n 2) represents the average time an activity is waiting for its completion. Since an additive constant or a positive multiplicative constant in the objective function do not have any influence on the optimality of a schedule, we may replace CiEvw f E / ( n 2) by (2.10.2) f (S) = wrsi
+
+
C
iEV
A third regular objective function corresponds t o the (mean) weighted tardiness CiEvwTZ/(n 2), where Ti := (Li)+ is the tardiness and wT 2 0 is the tardiness cost of activity i per unit time. Again, we may omit the multiplicative constant l / ( n + 2) and thus have
+
f (S) =
x wT(si +pi - di)+
(2.10.3)
iEV
Most of the concepts introduced in Sections 2.5, 2.6, and 2.7 apply to the minimization of arbitrary regular objective functions f . In what follows, we briefly sketch the necessary adaptations of the enumeration algorithms and priority-rule methods. First, we turn to (truncated) branch-and-bound procedures. Since schedule S = minST(0) is componentwise minimal on set S T ( 0 ) , S is a minimizer of any arbitrary regular objective function f on set S T ( 0 ) . As a consequence, the proof of Proposition 2.5.9a remains valid for arbitrary regular objective functions f , where O S again designates the set of optimal schedules. Thus, Algorithm 2.5.8 is a complete enumeration scheme for the minimization of regular objective functions. If S # 0,there is always an optimal schedule S* E AS 5 &AS (compare d (cf. Proposition 2.10.2). Hence, the Remark 2.4.10a) and thus S;,,
<
2.10. Regular objective functions different from project duration
119
u p p e r b o u n d UB on the minimum objective function value f (9) in the branch-and-bound procedure of Algorithm 2.5.16 can be initialized with f (LS) + I , where the weight- of backward arc ( n f l , 0) in temporal scheduling network N+ is 6n+1,0:= -d and L S is the latest schedule. Likewise, preprocessing can again be performed in network N + . Condition dij > -pi in Theorem 2.5.11 has to be replaced by the following consistency test. Let ~ S b . 4:= minST({(j,i)}) # 0 be the earliest schedule belonging to network N ( 0 ) with 0 = {(j,i)}. For a minimal forbidden set > UB, S, 2 Si +pi holds for each feasible schedule S {i, j) with f (ES(J~~)) with f (S) 5 UB because in that case Si 2 Si pj implies f (S) > UB. The same holds if ST({(j, i))) = 0. The analogue to lower b o u n d LBO = ES,+, for the project duration is given by LBO = f ( E S ) . Similarly to the computation of lower bound LBR for problem PSltemplC,,, we may split the activities into subactivities with resource requirements of one, allow the interruption of subactivities, and omit the temporal constraints. For the case of a general regular objective function f , however, the corresponding minimization problem turns out to be NP-hard even if (721= 1 (the problem in question corresponds to a parallel machine scheduling problem with job preemption and regular objective function, cf. Brucker, 2001, Sect. 5.3). Hence, the problem of computing lower bound LBR in the case of arbitrary regular objective functions f is not solvable in polynomial time. The computation of a destructive lower bound LBD on the minimum objective function value f (S) for feasible schedules S can be done as described in Subsection 2.5.3, where the preprocessing algorithm is adapted to general regular objective functions as mentioned above and statement L B := max(LB, ESn+l) in Algorithm 2.5.14 is deleted. A workload-based lower bound on the minimum value o f f on feasible region S can be found as follows. If we replace "i E V" in (2.5.11) by "i E V : &h 2 0" and "j E V" in (2.5.12) by "j E V : djh 2 On, we obtain a lower bound & on the minimum start time Shof activity h for all feasible schedules S. Due to the regularity of f , LBW := f (S)then represents a lower bound on f ( S ) for all feasible schedules S. Of course, the minimum-cut bound from Subsection 2.5.8 can be generalized to the case of arbitrary regular objective functions f that admit the representation as p(x) = CiEV CtEAi Witzit with A, := {ESi, ES, + 1 , .. . , LSi}, wit E E, and time-indexed binary variables zit given by (2.5.19). For example, the mean weighted flow time f (S) = CiEvw:(Si + pi - ri)/(n + 2) and the mean weighted tardiness f (S) = ZEv w'(Si + p i - di)+/(n + 2) can be written in the form p(x) = CiEv CtEai wf(t + pi - ri)xit and p(x) = CiEv wT(t pi - di)+xit, respectively (see Selle, 2002, Sect. 2.2). As far as priority-rule methods are concerned, both the serial and parallel generation schemes given by Algorithms 2.6.4 and 2.6.7, respectively, can be used without any modification when dealing with regular objective functions different from project duration. The specific objective function f
+
+
Ch. 2. Minimization of Project Duration
120
has t o be taken into account when selecting the priority rule. An appropriate priority rule for minimizing the weighted flow time (2.10.2) is the
The reason for choosing the WSD rule is that on the one hand, scheduling an activity i with small duration pi often incurs no or only a small delay of the remaining eligible activities j E E . On the other hand, an activity i E E with large value of Cj,,,,h4(i) wf should be scheduled as early as possible because a delay of i generally implies a delay of activities j E Reach*($) as well. When dealing with lateness-based objective functions (2.10.1) or (2.10.3), it is generally expedient to schedule the "most critical" activity next, i.e. an eligible activity i with maximum lower bound on the weighted lateness wTLi (for objective function (2.10.1), we set wT := 1 for all i E V). A corresponding priority rule is the
When scheduling real-life projects, make-to-order production, or process flows in chemical industries, we have to take into account breaks like weekends or holidays where manpower or machinery are not available. Scheduling the activities subject t o such break calendars is termed calendarization. Some activities may be interrupted during a weekend, whereas others must not be interrupted due t o technical reasons. Therefore, we have to distinguish between (break-)interruptible activities i 6 V" C V and non-interruptible activities j E Vni := V \ V", where i E Vn
2.11. Calendarization
121
to the calendarization of projects, which makes use of calendar-independent startstart, start-completion, completionstart, and completion-completion time lags (note that since activities i E vbimay be interrupted, those time lags cannot be converted into one another). A break calendar (or calendar, for short) is a function b : R2(1+ ( 0 , l ) with the following interpretation: b(t) = 1 indicates that time t belongs to a working period (we then speak of t as a working time) whereas b(t) = 0 means that t falls into a break (in that case, t is called a spare time). Without loss of generality, we assume that a calendar b is a step function, i.e., b is piecewise constant, and that b is continuous from the right at its jump points. Thus, b is integrable, and for 0 5 cr < P, :J b ( ~ d) r is the total working time p[. Fig. 2.11.1 shows an example of a calendar function b with in interval [a, the corresponding total working time jib(^) d~ up to time t. Jib [ ~ d) r is a continuous and piecewise linear function in t whose kinks coincide with the start and end of breaks in calendar b. The total working t i e J,'5 b(7) d r in interval [4,15[equals b ( ~ d~ ) - b ( ~ d~ ) = 10- 3 = 7, which corresponds to the total area of the shaded boxes.
Jp
so4
Figure 2.11.1: Calendar b and total working time J b ( ~ ) d ~ In practice, different resources k E R such as manpower or machines generally have different calendars. We obtain the corresponding activity cab endar b, for activity i E V by setting bi(t) equal to zero if there is a resource k ER ' with r i k > 0 which due to a break is not available at time t and equal to one, otherwise. If bi(t) = 0, we have to suspend the execution of activity i E V" being in progress a t time t. For what follows, we establish the convention that first, an activity i E V" cannot be interrupted during working time,
122
Ch. 2. Minimization o f Project Duration
i.e., an interruption of i at a time t with b;(t) = 1 is not allowed, and that second, the execution of i interrupted at some time t has to be resumed exactly at the end of the current break, i.e. at time t' := min{r > t I bi(r) = 1). This convention is generally accepted in practice, in particular, if the processing of activities requires the setup of certain resources such as machines or reactors (in Section 2.14, we will discuss project scheduling problems with sequencedependent setup times between activities). Furthermore, we suppose that for activities i E V" , the minimum length of a working time interval between two successive breaks in calendar bi is greater than or equal to minimum execution time E,. This assumption ensures that once i has been started at time S; such that i is continuously in progress during ~i time units, the working time between the completion and start of any two successive interruptions of i is not less than q. The requirement that no activity i E V can be interrupted before i has been processed for at least si units of time, i.e., that there is no spare time in interval [Si,Si ci[, can be stated as
+
Let B,be the number of breaks in calendar bi. Given some time t 2 0, the earliest start time Si 2 t observing constraint (2.11.1) can then be found in O(Bi) time. There is no o n e t o o n e correspondence between start times Si and completion times Ci of activities i if the processing of activities may be suspended a t axbitrary points in time (in machine scheduling, interruptions are then referred to as preemption). In our case, however, activities can only be interrupted at the beginning of a break and have to be resumed immediately a t the end of a break. This means that in interval [Si,Ci[, activity i is in progress at time t exactly if bi(t) = 1 (recall that by assumption, the time lag between two consecutive breaks in calendar bi is not less than ci). Thus, given start time S,, the completion time C,(S,) of activity i E V is uniquely determined by
(notice that since J,: bi(r) d r is a continuous function in t, the minimum always exists). C, depends on start time Si and activity calendar 6,. We have Ci(Si) - Si 2 p, for all i E V", whereas Ci(Si) - Si = p i for all i E Vni. Minimum and maximum time lags may depend on calendars, too. For example, if a spare part has to be delivered within three working days, we have to consider a corresponding calendar. Therefore, we introduce a time lag calendar 6ij for each prescribed time lag and which has to be specified when modelling the problem. Point in time t is taken into account when computing the total working time between the start of activities i and j exactly if bij(t) = 1. That is, bij(r) d r equals the total working time
y,
12
<
in interval [Si,Sj[if S, S, and equals the negative total working time in interval [ S j ,S,[, otherwise. In general, the time lag calendar bij for a minimum time lag coincides with bi or hi. The time lag calendar bij of a maximum time lag may contain the spare times of activity calendars bh, where activities h lie on a path from i to j in the corresponding project network N (for more details, we refer to F'ranck, 1999, Sect. 3.1). The case where time lags and are independent of calendars is obviously contained as the special case where bij(t)= 1 for all t 2 0. The actual minimum difference Aii between start t i e s Sj and Si induced by minimum time lag ds;'" or maximum time lag Gm,respectively, depends on start time Si and calendar bij:
where 6, := in case of a minimum time lag between the start of activities i and j and 6ij := if there is a maximum time lag between the start of activities j and i. Recall that E+ is the arc set of temporal scheduling network Ni, which results from network N by adding the backward arc (n 1,O) with weight 6,+1,(1 specified later on. Si + Aij(Si) is the earliest point in time t 2 0 for which the total working time in interval [Si,t [ or [t,Si[, respectively, is greater than or equal to Since bij(t)E {O,l) for all t 1 0, it holds that lAi3(S,)I 2 IhijiJI,and A,,($) and 6, have the same sign. For temporal scheduling, the temporal constraints S, - S, 2 Sij for all (i, j ) E E+ have to be replaced by
-v
+
Sj - Si
2 A,(Si) ((i,
j ) E E+)
which can also be written as
The interpretation of (2.11.2) is as follows. If 6, 2 0, then the total working time bij(r)d~ between the start of activity i at time Si and the start of activity j at time S j must be at least Jij. If 6ij < 0, then bij(7)d r 2 Ji3 means that the total working time b i j ( ~d)r = bij(r)d~ between S j and Si must not exceed -bij. Notice that in case of 2 0, inequality (2.11.2) is tighter than the ordinary temporal constraint S j - S: 1 6,, whereas for 6, < 0, inequality (2.11.2) does not imply Si - Si 2 6,. For given start time Si of activity i , the minimum start time Sj of activity j satisfying (2.11.2) is
Jz
Jz
12
Ja
t* can obviously be computed in O ( B i j )time, where Bij designates the number of breaks in calendar b,j.
124
Ch. 2. Minimization of Project Duration
In what follows, we refer to constraints (2.11.1) and (2.11.2) a s calendar constraints. A schedule S complying with all calendar constraints is
termed calendar-feasible. The problem of finding the earliest calendarfeasible schedule can be formulated as follows:
(compare (1.3.4) in Chapter 1, where we have stated the analogous problem for the case without calendar constraints). To solve problem (2.11.3), we use a modification of the label-correcting algorithm for finding longest path lengths in project network N (compare Algorithm 1.3.4) which has been proposed by Franck (1999, Sect. 3.3). We start the algorithm with ES = (0, - a , . . . , -co) and successively delay activities until all calendar constraints are satisfied. Let Q be a queue containing activities for which a tentative earliest start time ESi has been determined. Q is initialized with set (0). In each iteration, we pop an activity i off Q. First, we check whether start time ESi complies with calendar bi by computing the earliest point in time t: 2 ES, for which interval [tt,t: q[ does not contain spare times (cf. constraints (2.11.1)). In case of ES, < tt, the start of activity i must be delayed until time t,*. Next, we check inequalities (2.11.2) and (2.11.1) for all immediate successors j € Succ(i) of activity i in project network N. To this end, we compute the earliest start time t; := min{t max(0, ES,) I ~h~~ bij(r) d r 2 bij) of activity j given start time ESi for activity i. If ESj < tJ, schedule ES does not satisfy the corresponding prescribed time lag, and thus we increase ESj up to t;. In that case or if b j ( ~ = ) 0 for some T E [t;,t3 + ~ j [ ,we push j onto Q if j 4 Q. Algorithm 2.11.1 summarizes this procedure, where for convenience, we define min 0 := m.
For all i E V \ (0) do ESi := -m ESo := 0, Q := (0) (tQ is a queue*) Succ(n + 1) := Succ(n + 1) \ (0) While Q # 0 d o Pop i off queue Q Determine t* := min{t ES, I b,(r) = 1 for all T E [t,t + ci[) If t* = oo t h e n terminate (*there is no feasible solution *) Else if ESi < t* t h e n ESi := t* For all j E Succ(i) d o Determine t* := min{t max(0, ESi) I J;,~ bij(r) d r 2 b i j )
>
>
2.1 1. Calendarization
125
If ESj < t' o r bj(r) = 0 for some T E [t', t* + E ~ t [h e n If ESj < t* t h e n ES, := t* If j # Q t h e n push j onto queue Q E n d (* if *) E n d (*for *) E n d (* while *) R e t u r n ES Let B := CievBj + C(ij,eE+ Bij > 0 denote the number of breaks in all activity and time lag calendars. Clearly, the (tentative) earliest start times ES, of all activities i E V are nondecreasing in the course of the algorithm. If problem (2.11.3) is solvable, Algorithm 2.11.1 yields schedule ES after having inspected each arc (a, j) a t most IVI(B 1) times, where each of the B breaks is considered at most once. If the calendars are given as sorted lists of start and end times of breaks, the time complexity of Algorithm 2.11.1 is O(IVIIEIB). There is no calendar-feasible schedule exactly if after IVIIEI(B + 1) iterations, queue Q still contains some activity i E V. The latest schedule L S can be computed by the following modification of Algorithm 1.3.5. To specify the weight 6n+l,o of backward arc (n 1,O) in temporal scheduling network N+,let ;idenote the maximum project duration which may be given either by a prescribed deadline for the termination of the project or by an upper bound on the minimum project duration. Then 6,+1,0 equals -2 if a is known and -ES,+l, otherwise. We start with L S = (0, m, . . . , cm)and Q = (0). In each iteration, an activity j is popped off queue Q and LS, is set equal t o the latest time t,*for which calendar bj allows the start of activity j. Then, the tentative latest start times of all immediate predecessors i E Pred(j) of activity i in N+ are set equal t o the largest times tt 5 min(2, LSi) with bij(7) d r 6ij. The corresponding procedure is given by Algorithm 2.11.2, where max0 := -a.
+
+
siS7 .
>
(2.11.2) Algorithm: Calendarization
- latest
schedule.
For all j E V \ (0) do LSi := m LSo := 0, Q := (0) (* Q is a queue *) If maximum project duration > ES,+l is given t h e n 6,+1,0 := -d Else 6n+l,o:= -ES,,+l W h i l e Q # 0 do Pop j off queue Q Determine t* := max{t 5 LSj I b, ( T ) = 1 for all T E [t, t + E ~ [ ) If t* = -m t h e n terminate (*there is no feasible solution *) Else if LSj > t* t h e n LS, := t* For all i E Pred(j) d o
126
Ch. 2. Minimization of Project Duration
Determine t* := max{t 5 min(a, LSi) I hLS' b i j ( ~ )d~ 2 Sii) If LS; > t* or bi(r) = 0 for some T E [t*,t* E ~then [ If LS; > t* then LSi := t' If i 4 Q then push i onto queue Q End (* if *) End (*for *) End (*while *) Return L S
+
We now turn to the problem of minimizing the project duration subject to calendar constraints (2.11.1) and (2.11.2) and resource constraints. In the threefield notation of project scheduling, the latter problem is denoted by PSltemp, callC,,, where cad refers to break calendars. The case of general regular objective functions can be dealt with analogously. An upper bound ;i on the minimum project duration can be found as follows. For each arc ( i , j) E E, we determine an upper bound Lij on Adj(Sj) for any start time Si 2 ESi. If 6ij 0, it follows from Aij(Sa) 5 0 and lAij(Sj)l 3 that 6ij 2 Aij(Si). If (r, > 0, can be chosen to be the largest time lag Aij(t) = f - t between the start of activity i at some time Si = t and the earliest point in time t' 2 t + 5, for which the total working time in interval [t, t'[ equals Sii. Thus, we set
<
-
A .. -
{
zij
if bij 5 0 max Aii(t), otherwise t2E.S.
An upper bound on the time lag between some time t 2 ESi and the earliest completion of activity i E V after point in time t can be determined as follows. The smallest start time Si 2 t of activity i is the minimum time t' 2 t satisfying bi(r) = 1 for all T E [t', t' ci[. By taking the "largest" time lag Ci(tl)- t between t and the earliest completion of i at time Ci(tf) 2 t +pi with respect to all times t 2 ESi (where the maximum does not necessarily exist), we obtain
+
jji := sup min{Ci(tl)
-
ttE.5; t ' t t
t I b , ( ~ )= 1 for all
T
E
[t', t'
+
~i[}
Figure 2.11.2 illustrates the computation of upper bound pi for an activity V" with ES; = 0, pi = 6, and E; = 1. For 5 < t 5 8, we have t' = 8 and Ci(tl) = 17. Since for all other points in time t, Ci(tt) - t is less than or equal to 11 (where we suppose that bj(t) = 1 for all t 2 18), pi equals ~ u p ~ < ~ <-~t)( = 1 717 - 5 = 12. Note that there is no maximum Ci(tl) - t with respect to t. Analogously to the case without calendars (cf. (2.1.3)), d := C max(Fii, zij)
i
E
"EV
jEtU%il
2.11. Calendarization
127
Figure 2.11.2: Upper bound pi is an upper bound on the minimum project duration provided that there exists a schedule observing the calendar and resource constraints. Since upper bounds Kij and iS, for (i,j ) E E and i E V, respectively, can be determined by considering starts and ends of breaks, 2 can be computed in L?(max(lEl,B)) time. The enumeration scheme of the branch-and-bound algorithm for problem PSItemplC,, discussed in Section 2.5 can be used without any modification for the case of calendar constraints as well. Schedule m i n S ~ ( 0 can ) now be computed by Algorithm 2.11.1 as the earliest schedule ES belonging to network N(O), where the calendars bij for pairs (i,j ) E 0 coincide with calendars bi of the respective activities i. S T ( 0 ) denotes the set of all schedules satisfying the calendar constraints (2.11.1) and (2.11.2) for network N ( 0 ) . Similarly to the case without calendars, it can be shown that the earliest schedule ES for N ( 0 ) is the unique minimal point of set ST(0) (cf. Fkanck, 1999, Sect. 3.2). A resource- and calendar-feasible schedule can be found by the direct priority-rule method from Section 2.6 using an adaptation of the serial or the parallel generation scheme. For updating the earliest and latest start times ESj and LSi of activities j E we use Algorithms 2.11.1 and 2.11.2, not all points in time respectively. In contrast to problem PSltemplC,,,,, t E [ESj*,LS?] represent calendar-feasible start times for the activity j* selected. Thus, it may happen that a resource-feasible start time t* with ESP 5 t* 5 LS? for activity j* has to be rejected because start time Sj. = t* does not comply with constraint (2.11.1). In that case, the start of j* must be delayed by increasing EST up to the earliest point in time t with t* < t 5 LSp for which activity j*can be processed without interruption for at least E ~ .time units. An experimental performance analysis (cf. Franck, 1999, Sect. 5.5) has shown that for problem PSltemp, callC,,, the priority-rule method requires about ten times as much computing time as for the corresponding problem with temporal constraints on the average. This is mainly due to a larger number of unscheduling steps and the more time-consuming temporal scheduling algorithm. As for problem PSltemplC,,,,, the minimum latest start time first (LSTd) rule provides the best results among the priority rules from Subsection 2.6.3. In particular, the LSTd rule is well-suited for both finding a large
c,
128
Ch. 2. Minimization o f Project Duration
number of feasible schedules and computing schedules with small project duration.
2.12
Project scheduling with cumulative resources
Until now we have dealt with project scheduling problems where activities use renewable resources such as manpower or machinery, " . whose availability is independent of their previous utilization. In practice, e.g. in process industries, additional resources such as containers, tanks, or other s t o r a ~ facilities e that can store (initial, intermediate, or final) products often occur a t different locations within the production process. Such storage facilities are generally depleted and replenished over time. In the context of project scheduling, we speak of cumulative or storage resources (cf. Neumann and Schwindt, 2002) or reservoirs (see Laborie, 2003), which have a given maximum inventory (or storage capacity) and minimum inventory (or safety stock). Since the inventory is depleted and replenished over time, the availability of cumulative resources (i.e. the residual storage capacity and the inventory on stock) depends on the project history. Note that in literature, the name "cumulative resource" is sometimes used when referring to renewable resources I; with capacity Rk > 1 (renewable resources with Rk= 1 are then called disjunctive resources, see e.g. Baptiste et al., 1999). In this section, we deal with two different types of cumulative resources. In Subsection 2.12.1, we are concerned with discrete cumulative resources (for discontinuous material flow consisting of, say, batches of pharmaceuticals packed in boxes or lots of parts), which are depleted and replenished at discrete points in time like start or completion times of activities. Subsection 2.12.2 treats the case of continuous cumulative resources (for continuous material flow, e.g. beverages or liquid chemical substances), where the depletion and replenishment rates are finite. Branch-and-bound procedures for project scheduling with discrete cumulative resources have been devised by Neumann and Schwindt (2002) and Laborie (2003). The paper by Laborie (2003) places special emphasis on constraint propagation techniques for reducing the search spaces at enumeration nodes. The algorithm by Neumann and Schwindt (2002) is outlined in Subsection 2.12.1. Selle (2002, Sects. 2.2 and 3.3) has proposed a lower bound for the project duration problem with discrete cumulative resources, which is based on a Lagrange relaxation of the resource constraints. We have studied a similar approach for the case of renewable resources in Subsection 2.5.8. In the context of short-term production planning, Alle and Pinto (2002) and MCndez and Cerdg (2002) have devised continuous-time mixed-integer programming models for the scheduling of production plants run in continuous production mode, where the product structures are assumed t o be linear and convergent, respectively. The inventories of intermediate products can
129
2.12. Project scheduling with cumulative resources
be interpreted as cumulative resources which are depleted and replenished continuously over time. The enumeration scheme of a branch-and-bound procedure by Schwindt and Trautmann (2002) for project scheduling with continuous cumulative resources is discussed in Subsection 2.12.2.
2.12.1
Discrete cumulative resources
Suppose that a production process is modelled as a project, where a project activity corresponds t o the processing of some operation (for the construction of an appropriate project network, see Section 2.9). Then a typical situation is that a t the completion of an activity i, a certain amount of the corresponding product manufactured must be stored in some storage facility or discrete cumulative resource k. In other words, at the completion of activity i, cumulative resource k is replenished by, say, r i k > 0 units. Likewise, at the start of activity i , say, - r i k ~ > 0 units stored in some cumulative resource k' are withdrawn or consumed to manufacture the products corresponding to activity i, where the negative rip indicates a resource consumption. For notational convenience, we assume that an activity cannot deplete and replenish one and the same cumulative resource (this condition can always be satisfied by splitting up an activity which does not comply with this convention into two new ones). Then r i k corresponds to the demand for cumulative resource k by activity i, where rit < 0 stands for depletion of resource k at the start of activity i and rie > 0 for replenishment at the completion of activity i , and r i k = 0 means that resource k is not used by activity i. can be viewed as the initial stock of resource k. Let R7 be the set of all (discrete) cumulative resources. For each cumulative resource k E RY,there are a prescribed minimum inventory or safety Rk E Z and a maximum inventory or storage capacity RkE E where stock Rk 2 Rk. For the total demand CiEV r,k for resource k (including the initial stock rOk), we assume that
xi,,,
Inequalities (2.12.1) ensure that the inventories r i k of resources k E 727 at the project termination neither fall below the safety stocks nor exceed the storage capacities f i k . By V; := { i E V I r i k < 0) and Vk+ := { i E V I r,k > 0) we denote the disjoint sets of activities depleting and replenishing, respectively, resource k E R7.Given a schedule S,
ak
is the set of activities that have used resource k E R7 by time t called the active set for cumulative resource k at time t.
2 0,
also
130
Ch. 2. Minimization of Project Duration
is the inventory of resource k E 727 available at time t 2 0 given schedule S. rk(S, t ) corresponds to the cumulative resource demands for resource k in time interval [O,t]. Function rk(S,.) is called the inventory profile of resource k. The inventory constraints can be written as
xiEV
ma+, max(ij ) E Jij) ~ where as for renewableresource constraints, ;i:= represents an upper bound on the shortest project duration. A schedule S is called inventory-feasible if it satisfies (2.12.2) and feasible if it is both t i m e and inventory-feasible. An optimal schedule is a feasible schedule which minimizes the project duration. The problem of finding an optimal schedule reads as follows: Minimize subjectto & < r s ( S , t ) < % sj- si2 Jij S, 2 0 so= 0
( ~ E ' R ?O, < t < Z ) ((i,j) E E ) (i E V )
1
(2.12.3)
In the threefield notation of project scheduling, problem (2.12.3) is denoted by PScltemplC,,, where PSc stands for project scheduling with cumulative resource constraints. Next, we show that the project scheduling problem with renewable resource constraints PSI temp(C,, can be regarded as a special case of problem PScltemplC,,. For each renewable resource k E R,we introduce a cumulative resource k' with r ~ k= , r,+l,k, = 0,&, = 0, and Rk< = Rk. Real activities i E V are split up into two dummy activities 'i and a" each, which are pulled taught by time lags d$? = @C = p,. Finally, we set ri'p := r i k and rit!k! := -rik for all real activities i E V and all renewable resources k € R. Since for any schedule S and each resource k 6 R,the inventory profiles rkt(S,.) coincide with the correspondiig resource profiles rk(S, .), both project scheduling problems are equivalent. As a consequence, the decision problem whether there is a feasible schedule for PScltemplC,, is NP-complete. Interestingly, this remains true even if the underlying project network is acyclic, in contrast to project scheduling problems with renewable resource constraints. (2.12.1) Theorem. The problem of testing whether there is a feasible schedule for a given instance of PScltemplC,, is NP-complete even if project network N is acyclic.
Proof. Clearly, the feasibility of a schedule S can be verified in polynomial time by evaluating the temporal constraints for all arcs (i, j ) E E and all inventory constraints for k E R? and start or completion times t of activities i E V. Hence, the decision problem is contained in NP. We now construct a polynomial transformation from PARTITION (cf. Garey and Johnson, 1979). Let Z := {I,. . . ,v) denote a set of v indices i
2.12. Project scheduling with cumulative resources
131
+
with sizes s(i) E N We consider the following project with v 2 activities of duration zero and one cumulative resource, where we omit the resource index k: we have n = v, V = Z U {O,n 11, TO = r,+~ = - CiEZs(i)/2, ri = s(i) for all i E Z , R = R = 0, = 1, and = Ti"+, = 0 for all i E Z. Obviously, there is a feasible schedule if and only if Z can be partitioned into two sets Z' and Z" with CiErri = CaEz,~ ri, where the activities i E 1' are started at time 0 and the activities i E Z" are started at time S,+l 2 1.
+
The basic principle of a branch-and-bound procedure by Neumann and Schwindt (2002) for solving problem PScltemplC,, consists of successively adding precedence constraints between activities from forbidden sets until all resource conflicts become resolved (compare Subsection 2.3.2). In the case of cumulative resources, we have to consider depletions and replenishments of resources. Moreover, in addition to upper bounds %, there are lower bounds & on the inventories (k E 727).This results in two different 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. More precisely, for a resource k E R7,a nonempty set of activities F C V is called a k-surplus set if
C Tik > Bk
iEF
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 r j k > 0 for all j E F \ F' (i.e. with F \ F' C V,+) and no k-surplus set F" 3 F with r j h < 0 for all j E F" \ F (i.e. with F" \ F VL). Analogously, a nonempty set of activities F V is called a k-shortaae set if F is termed a minimal k-shortage set if F is a k-shortage set and there is no kshortage set F' c F with r j k < 0 for all j E F \ F' (i.e. with F \ F' & V); and no k-shortage set F1' > F with r j k > 0 for all j E F" \ F (i.e. with F" \ F C V.): Note that one and the same set F can be a surplus set with respect to a resource k E R7 and a shortage set with respect t o a different resource k' E 727 In the following, we refer to sets F being minimal surplus or minimal shortage sets for some resource k E 727 as minimal forbidden sets. Subsequently, we need the following convention. (2.12.2) Remark. For each resource k E R7, we assume that & 5 0 and i& 2 0. The condition of Remark 2.12.2 does not mean any loss of generality because each instance of problem PScItemplC,, is transformed into an equivalent instance if we add one and the same integer ah to the initial inventory r ~ k the , safety stock Rkrand the storage capacity Re (k E R7).The assump tion of Remark 2.12.2 ensures that the empty set F = 0 is not a forbidden
Ch. 2. Minimization o f Project Duration
132
set. To prove the basic theorem that will show how to resolve inventory conflicts in a systematic way, we can now formulate the following preliminary lemma.
(2.12.3) Lemma. (a) For each k-surplus set F , there exists a minimal k-surplus set F' with > 0) { j E F 1 rjk > 0) and { j E F' I r j k < 0) _> 0 # { j E F' I { j E F I r j k < 0). (b) For each k-shortage set F , there exists a minimal k-shortage set F' with 0 # { j E F' 1 r j k < 0) g { j E F I r j k < 0 ) and { j E F' I r j k > 0) _> { j E F I r j k > 0 ) .
c
Proof (cf. Neumann and Schwindt, 2002). Let F be a k-surplus set. We construct a minimal k-surplus set F' satisfying condition (a) as follows. We set F' := F and scan the activities j E F' with rjk > 0. Activity j is removed from set F' if F' \ { j ) is still a k-surplus set. Remark 2.12.2 implies that { j E F' I r j k > 0) # 0. Then, we scan the activities j 6 F with r j k < 0 and add j to set F' if F' U { j } is still a k-surplus set. Consequently, for all activities j E F' replenishing resource k, F' \ { j ) is no longer a k-surplus set and for all activities j @ F' depleting resource k, F' U { j ) is not a ksurplus set, either. Thus, F' # 0 represents a minimal k-surplus set meeting condition (a). The reasoning for a k-shortage set F is analogous. Consider the inventory conflict illustrated in Fig. 2.12.1 (inventory excess), where an activity j from a minimal k-surplus set F is completed at time Sj pj and causes a resource replenishment of rjk > 0 units which exceeds the storage capacity Rk. Moreover, an activity i @ F is started at time Si and causes a depletion of stock of -rib > 0 units. Obviously, this inventory conflict can be resolved by introducing the temporal constraint Sj +pj 2 St, that is, the completion of activity j is delayed up t o the start of := pi between activity i. In other words, we define a maximum time lag the start of activities j and i. S j + p j 2 Si establishes a start-to-completion precedence relationship between activities i and j. Likewise, the inventory conflict caused by a minimal k-shortage set F depicted in Fig. 2.12.2 (inventory shortage) can be resolved by introducing a completion-to-start precedence relationship S, Si +pi between some replenishing activity i F and some depleting activity j E F . S j 2 Si+ p i corresponds t o a minimal time : = p i between the start of activities i and j . lag In the general case, let and F; be the sets of all minimal k-surplus sets and minimal k-shortage sets, respectively. Then we have the following basic
+
>
en
(2.12.4) Theorem. Schedule S is inventory-feasible if and only if
2.12. Project scheduling with cumulative resources
133
Figure 2.12.1: Inventory excess
Figure 2.12.2: Inventory shortage
Ft with k E R7,there exist two activities j E F and F with rjk > 0 and rik < 0 such that S j +pj 2 Si, and (b) for each F E 3; with k E 727, there exist two activities j E F and i 6 F with rjk < 0 and Tik > 0 such that S3 Si +pi.
(a) for each F E
i
>
Proof (cf. Neumann and Schwindt, 2002). Suficiency: Let S be some schedule with r k ( S t, ) > & for some resource k E 'Rr and some point in time t 2 0. Lemma 2.12.3 then provides the existence of a minimal k-surplus set F E 3; for which 0 # { j E F I rjk > 0) C { j E AI,(S,t ) 1 rjb > 0) and { j E F I rjk < 0) 3 {j E A k ( S ,t ) I rjk < 0). Moreover, condition (2.12.1) ensures that {i 4 F I rik < 0) # 0. Due to { j E F 1 rjk > 0) C A k ( S , t ) we have S j + p i 5 t for all j E F with rjk > 0. In addition, {i 6 F I V \ A k ( S , t ) implies S, > t for all i 6 F with riI, < 0. Thus rik < 0) S j +pj < Si holds for all j E F and all i @ F with rjk > 0 and rib < 0, which contradicts condition (a). Similarly it can be shown that from a shortage of some resource k at some time t 0 it follows that condition (b) is not met.
>
Necessity: Let F E 3: be a minimal k-surplus set violating (a), i.e., for all j E F with rjk > 0 and all i @ F with rik < 0, we have Sj pj < Si. From Remark 2.12.2 it follows that set F contains some activity j with rjk > 0. Let t := maxjE~,Tjk,O(Sj + p j ) be the point in time at which the last completion of a replenishing activity j E F occurs. Due to { j E F I rjk > 0) 2 A k ( S , t ) and { i $ F I rit < 0) n As(S,t ) = 0 we obtain rk(S,t) C j E F r j k> i?k,
+
>
134
Ch. 2. Minimization of Project Duration
i.e., S is not inventory-feasible. The case of F E F'F can be dealt with analogously. Theorem 2.12.4 says that any inventory conflict can be resolved by adding temporal constraints of type Sj+pj 2 Si or S j 2 Si +pi to the original temporal constraints Si S, bij ((i,j) E E). As a consequence, the set of all feasible schedules again represents a finite union of polyhedra. Since each project scheduling problem with renewable resource constraints can be represented as an equivalent project scheduling problem with inventory constraints, this union is generally disconnected. Now let P ( S ) := {(i, j) E V x V ( Sj + p j 2 Si) be the relation that corresponds to all start-to-completion precedence relationships Si pj 2 Si induced by schedule S . Relation P ( S ) is reflexive because Si +pi 2 Si and thus (i,i) E P ( S ) holds for all a E V. In contrast to strict order O ( S ) referring to all completion-to-start precedence relationships Si 2 Si pd, P(S)is not transitive and thus does not represent an order. The basic idea of the algorithm for solving PScltemplCm, consists of generating pairs of strict orders 0 and reflexive relations P, where strict orders 0 break up minimal shortage sets and reflexive relations P break up minimal surplus sets. Similarly to the case of renewable resources, the concept of minimal delaying alternatives can be used for breaking up several minimal forbidden sets at once. Let F be a ksurplus set (or k-shortage set) for some resource k E 7P. An inclusion-minimal set B F with
> +
+
+
C
rhkI Rk (or
hEF\B
C
rhk
> &, respectively)
hEF\B
is termed minimal delaying alternative for F and k. A pair (i,B ) of an activity i 4 F with r i k < 0 (or r i k > 0, respectively) and a minimal delaying alternative B is called a minimal delaying mode for F and k. Algorithm 2.12.5, which is a variant of Algorithm 2.5.2, shows the corresponding recursive procedure.
If B is a delaying alternative for F and k t h e n If B is a minimal delaying alternative for F and k t h e n B:=Bu{B) Else For all j E B with j > i d o
MinimalDelayingAlternatives(B \ {j),j, k, B) E n d (*for *) E n d (*if *) E n d (*if *)
2.12. Project scheduling with cumulative resources
135
A call t o MinimalDelaydngAlternatives(F,-1, k, 0) determines the set B of all minimal delaying alternatives B for F and k. The reason why we call the procedure with initial index i = -1 is that in contrast to the case of renewable resources, fictitious activity 0 may have a demand r0k # 0 for resource k and thus may be contained in minimal delaying alternatives. It can be shown (cf. Neumann and Schwindt, 2002) that a minimal d e laying alternative B for some k-surplus set (or k-shortage set) F and some resource k E 'R7 is an inclusion-minimal set-containing a t least one activity j E V: of all sets F' E with ~ ' n v 2 F ~ V ;and F ' ~ v ; 2 F n V ; (or at least one activity j E V; of all sets F' E with F ' n VF 2 F n VF and F ' n V: 2 F n V z , respectively). Thus, any reflexive relation P containing a pair ( 2 , j ) with i E V; \ F for each activity j of a minimal delaying alternative B for k-surplus set F and resource k resolves the inventory conflict given by F (i.e., breaks up forbidden set F ) . Moreover, any strict order 0 containing a pair (i, j ) with i E V: \ F for each activity j of a minimal delaying alternative B for k-shortage set F and resource k breaks up F. Analogously t o the case of renewable resources, it can be shown that one and the same activity i E F can be chosen for all activities j E B (cf. Theorem 2.5.7). (2.12.6) Example. We consider a project with four real activities and one cumulative resource with safety stock R = 0 and storage capacity i? = 2. The (negative) depletions and (positive) replenishments r* by activities i are shown in Table 2.12.1.
Table 2.12.1: Resource demands
The set of all minimal surplus sets is F+ = {{I, 3,4), (3)) and the set of all minimal shortage sets is F- = {{1,2,3}, {1,4}, (2,411. We notice that there exist minimal forbidden sets F and F' with F' c F . We consider surplus set F = {3,4). There is one minimal delaying alternative B = (3) for F. Both relations P = {(1,3)} and P = {(2,3)} break up surplus set {3,4). Since activity 3 is contained in all minimal surplus sets, P = {(1,3)) and P = {(2,3)) break up all minimal surplus sets F' with 1 !$ F' and 2 $ F', respectively. Note that P = {(1,3)) does not break up minimal surplus set F' = {1,3,4) > F . Due to 2 $ F' for any F' E F+,each schedule S satisfying S3+ pg 2 S2fulfills the storage-capacity constraints.
+
Let ST(O,P ) := {S E ST I Sj 2 Si +pi for all (i, j ) E 0 and Sj pj 2 S, for all ( i , j ) E P ) be the polyhedron of all time-feasible schedules satisfying the precedence constraints Sj Si + pi given by strict order 0
>
136
Ch. 2. Minimization of Project Duration
+
and the maximum time lag constraints Sj pj > Si corresponding to reflexive relation P. The enumeration scheme for solving PScltemplC,, is then as follows. Let R denote the set of order-relation pairs ( 0 , P ) enumerated and be the set of feasible schedules generated. After having initialized R := { ( 0 , 0 ) )and r := 0, we start the enumeration. In each iteration, we take some order-relation pair ( 0 , P ) from set R and determine the corresponding earliest schedule S = minST(O,P). If S is inventoryfeasible and thus feasible, we add S to r. Otherwise, we determine some resource k E 727 and some point in time t 2 0 for which the active set A k ( S t, ) is forbidden. We then generate all minimal delaying modes ( i ,B) for A k ( S , t )and k. If A k ( S , t )is a k-surplus set, we add the corresponding order-relation pairs (O,P i ) with P' := P U{(i, j ) I j E B ) t o set R provided that ST(O,P i ) # 0. If Ak(S,t ) is a k-shortage set, R is augmented by the corresponding order-relation pairs (0', P ) with nonempty polyhedron ST(Oir P), where 0' := t r ( 0 U{(i, j ) I j E B ) ) . After that we take the next order-relation pair from set R and proceed analogously until R becomes void. The procedure shown in Algorithm 2.12.7 terminates after a finite number of iterations. The generated set I? is empty exactly if there is no feasible schedule and contains an optimal schedule, otherwise. (2.12.7) Algorithm: Enumeration scheme for PScl templC-.
Initialize set of order-relation pairs R := ((0, 0)) and set of candidate schedules r := 0 Repeat Remove an order-relation pair (0,P ) from set R Determine schedule S = rnin ST(O,P ) If S is inventory-feasible t h e n r := r' U { S ) Else Determine a point in time t such that Ak(S,t) is forbidden for some k E 7-27 Compute set B of all minimal delaying alternatives B for A k ( S t, ) and k, that is, do B := 0, MinimalDelayingAltenatives(Ak(S, t ) ,-1, k, B ) For all B E B do If Ak(S,t)is k-surplus set t h e n For all i E V; \ Ak(S,t ) d o Introduce precedence relationships between start of i and completions of all activities j E B, that is, put P' := P U { ( a , j ) I j E B)) If ST(O,P') # 8 t h e n R := R U ( ( 0 ,PI)} E n d (* for c)
2.12. Project scheduling with cumulative resources
137
Else For all i E V: \ d k ( S , t) do Introduce precedence relationships between completion of i and starts of all activities j E B, that is, put 0' := t r ( 0 U {(i, j) I j E B})
If ST(O1,P) # 0 t h e n R := R U {(O1,P)} E n d (* for *) E n d (* if *) E n d (*for *) E n d (* if *) Until R = 0 Return r In real-life applications, inventory constraints generally occur along with scarce renewable resources like manpower or machinery. In that case, Algorithms 2.5.8 and 2.12.7 can be combined in one enumeration scheme dealing with renewable as well as inventory constraints. In each iteration, one renewableresource conflict or one inventory conflict is settled. Strict order 0 contains all pairs (i, j ) that have been introduced for resolving renewableresource conflicts and inventory shortages. Relation P is the set of those pairs that have been introduced due to exceeding inventory. Dealing with the two types of resource constraints within one procedure is generally more efficient than transforming the renewable resources into cumulative ones and solving the resulting problem of type PScltemp(C,,,,. In Section 2.16, we will sketch a generalization of this approach to production scheduling problems occurring in process industries. Neumann and Schwindt (2002) have devised a branch-and-bound algorithm for PScltemp(C,, based on the enumeration scheme of Algorithm 2.12.7, where the (ordinary) temporal constraints Sj 2 $+pi and Sj 2 Si-pj are replaced with disjunctive temporal constmints Si 2 m i ~ ~ ~ (p,) S and i Sj 2 miniEa Si - pj, respectively. An experimental performance analysis for that method has been done for the 360 projects from Subsection 2.8.2 with 10, 20, 50, and 100 activities. In this performance analysis, the inventory constraints (2.12.2) are generated as follows. F i s t , for each pair ( 2 , k) with i E V and k E R7,we examine whether activity i uses cumulative resource k (i.e., rik # 0). The corresponding resource factor R F defines the percentage of pairs (i, k) belonging to a (positive or negative) demand. Second, the respective resource demands r , k are drawn randomly from a set {rmin . . . , -1,1,. . . , r max ). The scarcity of resources is controlled by the resource strength RS. The safety stock & and storage capacity Rk (1 - RS) Cievrik and - of resource k are Rk = RSmint20rk(ES,t) Rk = R S r n a ~ rk(ES, ~ ? ~ t) + (1 - RS) rik, respectively. R S = 0 implies that the resource profiles belonging to resourcefeasible schedules are
+
xi,,
+
138
Ch. 2. Minimization of Project Duration
constant over time, whereas for R S = 1, the earliest schedule E S is feasible and thus optimal. All instances have five resources. The resource factor is R F = 0.75, the minimum and the maximum demands are Pin = -10 and rmX = 10, respectively, and the resource strength is chosen to be R S E {0.0,0.25,0.5). The branch-and-bound algorithm has been coded in ANSI C. The tests have been performed on a PI1 personal computer with 333 MHz clock pulse operating under Widows NT 4.0. We have imposed a running time limit of n seconds. For the diierent values of n, Table 2.12.2 shows the percentage pWt of instances for which optimality could be shown, the percentage pi,, of instances whose insolvability could be shown, the percentage p,,t of instances which could be solved to feasibility but not to optimality, and the percentage punk of remaining instances with unknown status.
Table 2.12.2: Performance of branch-and-bound procedure based on Algorithm 2.12.7 for PScltemplC,,
We now turn t o the more general case where inventories may be depleted and replenished continuously over time. In this case, we associate the storage facilities with continuous cumulative resources k E 727 with safety stock & l E Z and storage capacity % E Z where again % 2 &. By rik E Z we denote the demand of activity i E V for cumulative resource k. For simplicity, we assume that during the execution of activity i E V, cumulative resource k E R7 is depleted or replenished a t constant (absolute) demand rate l+ikl = Irikl/pi, where iikdenotes the derivative of r i k with respect to time and we set f i k := 0 if ~ i k= pi = 0. The discrete cumulative resources k discussed in Subsection 2.12.1 correspond to the case of infinite demand rates Ifik] = LY).TO include the discrete cumulative resources in our model, it suffices t o introduce for each depleting activity i E V;, a fictitious start ',V a fictitious activity i' with pi, = 0 and for each replenishing activity i E, completion activity i" with pit, = 0. The resource demands r i k are then assigned to those fictitious activities. 0, if t < Si l,ift?Si+pi (t - & ) / p i , otherwise
2.12. Project scheduling with cumulative resources
139
is called the progress fraction of activity i E V, that is, the portion of activity i carried out by time t given schedule S. The inventory of resource k E 77-7 at time t equals
rikxi(S,t )
rt ( S ,t ) := 1EV
Inventory profiles r k ( S ,.) represent stepwise linear functions. If all demand rates f i k are finite, the functions rk(S;) are continuous. Analogously to Subsection 2.12.1, the inventory constraints can be stated as
(see inequalities (2.12.2)) and a schedule S is called inventory-feasible if S satisfies (2.12.4). The resource-constrained project scheduling problem to he solved is again given by (2.12.3). In the three-field notation of project scheduling, we refer to that problem as PScltemp, contlC,,, where cont stands for the continuous resource demands of the activities. Since problem PScItemp, cont IC,, is a generalization of PScltemp(C,,, it is NP-complete to decide whether there exists a feasible schedule even for an acyclic project network N. The basic idea of a branch-and-bound procedure devised by Schwindt and Trautmann (2002) for solving prohlem PScItemp, contlC,, is as follows (see also Neumann et al., 2002h). Again, we at first omit the difficult inventory constraints to obtain the time-constrained project scheduling problem PScoltemplC,,, which can easily he solved. Violations of the inventory constraints are then iteratively resolved by refining the resource relaxation through precedence relationships among the activities that deplete and replenish the resource in question. We alternate solving with refining the relaxation until either the search space has become void or a feasible schedule has been found. In each iteration, the branching is performed over all alternative precedence relationships resolving a given inventory conflict. The essential diierence to the case of discrete cumulative resources consists in introducing more general linear constraints instead of temporal constraints to resolve inventory conflicts. h u g h l y speaking, instead of establishing relations O ( S )and P ( S )of activity pairs ( 2 , j ) as in Subsection 2.12.1, we determine the progress fractions x j ( S , S i )or x j ( S , S i + p i ) for activities i, j E V by solving linear programs with objective function S,+1. We consider the case where at some time t , the inventory of some cumulative resource k falls below the safety stock &. For simplicity, we restrict ourselves to the case where all demand rates are finite. The general case will be discussed later on. At first, we notice that the inventory of resource k attains its minimum a t a point in time when some replenishing activity i is started or when some depleting activity i is completed. That is why time t can always he chosen to he equal to Si for some i E %+ or equal to S, +pi for some i E K-. Now let Vk := V; U Vk+ denote the set of all activities depleting
140
Ch. 2. Minimization of Project Duration
or replenishing resource k. We partition Vk into two sets A and B with the following meaning. Set A contains all activities j E V c to be completed by time t (i.e., x j ( S ,t ) = 1) and all activities j E V z to be started no earlier than at time t (i.e., x j ( S ,t ) = 0). Those constraints can be formulated as temporal constraints
where bji = pj and Jij = 0 if i E Vkf and bji = pi - p i and bij = pi if i E VF. The inventory of resource k at time t arising from activities j E A equals CjGAnvL rjk. The activities j from set B must be scheduled in such a way that a t time t , the replenishment of resource k by activities j E B is sufficiently large to resolve the inventory shortage caused by the activities from set A, i.e., C j E B ~ j k ~ tj )( S , & - XjEAnC;-rib This can be ensured as follows. For each activity j E B,we introduce a continuous decision variable xj E [O,1]indicating the progress fraction of activity j at time t. The requirement that the inventory of resource k at time t must be greater than or equal to safety stock l& then reads
>
j
JEB
j
>&- C
~ j k JEA~V;
The connection between decision variables xi and S , is given by the (parameterized) temporal constraints
with s i j ( x j )= - p j x ~ and Jj,(xj) = pjxj for i E V z and 6,.(xj) = pi -p,zj and 6ji(x3) = pjxj - pi for i E VL. Inequalities (2.12.7) ensure that for each schedule S satisfying (2.12.7), xj xi(S, t ) if activity j E B depletes and xj 5 x i ( S , t ) if activity j E B replenishes resource k. Hence, we have CjEv~ ~ k x j t( )S 2, CjEB Tjkxj rjk & and thus adding constraints (2.12.5) to (2.12.7) to the resource relaxation settles the inventory shortage at time t . Note that without loss of generality we can assume that i E A because the corresponding inequality (2.12.5) is always satisfied. An excess of the storage capacities can be dealt with analogously by simply interchanging the sets VL and Vkf in inequalities (2.12.5) and (2.12.7) and replacing (2.12.6) by
>
+ xjEAnVL>
Inequality (2.12.8) guarantees that joint depletion of resource k by activities from set B clears the excess inventory CjEAnvZ ~ j k & of set A.
141
2.12. Project scheduling with cumulative resources
For each resource k and each activity i E Vk,there may occur an inventory shortage and an inventory excess at time t = S, or t = &+pi before we attain a feasible schedule. For what follows, the corresponding partitions { A , B) of sets h and progress fraction variables x - are denoted by p k ) and -b -4 in the case of a shortage and by { A , B ) and in case of an excess. Clearly, at most 2 C k , , lVkl constraints of type (2.12.5) to (2.12.8) need to be introduced along with corresponding decision variables 6 [O, 11 until all inventory conflicts are resolved. The following theorem summarizes the previous results.
q
~7
$,q
(2.12.8) Theorem.
A schedule S is inventory-feasible if and only if for each continuous cumulative resource k E ' R T and each activity i E V: (i IZ V;), there exist (a) a partition { x k , Z k )of set such that for some ~k E [O, l]IvkI with is jk = l i f j ~ ~ z n ; ~ " ~ a n d $ ! = ~ i f j ~ v ; n z ~ ,
1 . Si
-
Sj 2 p j e
>
(pjek -pi)
n 2')u (V; n Bik)), (V; n Aik)u (Vk+n S k ) ,
for all j E (V:
2. S, - Si - p j q (pi - p j q ) for all j E 3. Cjcv,r-jk$! 5 Rb, and
gik E [O, l]Ivkl with ~~!=lifj~V;n&~and~~~=Oifj~~:nAl~,
(b) a partition { k k , p k )of set Vk such that for some -3
4 . Si
-
S, 2 pj$k (pj$ - pi) for all j E (V[ n kk) u (V,+n Pk),
5. Sj - S, 2 -pi$! (pi - pg?) for all j E (V: fl A"~) U (V; 6. CjevkrJkzikL &.
n pk),
The set of feasible schedules (i.e. the feasible region of problem (2.12.3)) coincides with the orthogonal projection of the set of all vectors ( S , E , z ) satisfying conditions 1. t o 6. onto the set ST of all time-feasible schedules. As a consequence, the feasible region again represents the union of finitely many polyhedra. In contrast t o problem PScltemplC,,,,, however, the vertices of those polyhedra may not be integral. Moreover, the set of minimal points of the feasible region is generally uncountable. The latter results are illustrated by the following example, which is taken from Schwindt and Trautmann (2002).
(2.12.9) Example. Figure 2.12.3 shows the AoN network of a project with three real activities and one continuous cumulative resource k. We omit the resource index k in what follows and assume that the safety stock is R = 0 and the storage capacity is sufficiently large, e.g., fi = 2. Activities 1 and 2 consume the two units which are provided by activity 3. The start time of activity 3 is fixed to be S3 = 0.
142
Ch. 2. Minimization ofProject Duration
Figure 2.12.3: Project network N with a single resource
Since the joint depletion rate Ifl + f21 = 1 of activities 1 and 2 exceeds the replenishment rate +3 = $,earliest schedule E S = ( 0 , 0 , 0 , 0 , 3 ) is not inventory-feasible. Figure 2.12.4 displays the inventory profile belonging to schedule E S .
Figure 2.12.4: Inventory profile for earliest schedule The inventory shortage at the completion time t = Sl +pl = 2 of activity i = 1 can be sorted out by choosing A' = ( 1 ) and = { 2 , 3 ) , which corresponds to introducing the variables xi,& E [O,1]and adding the constraints Sz - Sl 2 - 2xi, Sl- S3 3& - 2, and 2& - gi 2 1 to the resource relaxation. An optimal solution to the resulting linear program is gi = 1, & = 1, S1 = 1, S2 = 1, S3 = 0. gi = & = 1 means that both activities 2 and 3 are completed at the termination of activity 1. The inventory profile for the new schedule S = (0,1,1,0,3) is depicted in Figure 2.12.5. Since r ( S ,t ) 2 0 for all t 2 0 and = 3 = ES,+I, schedule S is optimal. Figure 2.12.6 shows the S1-Sz section of the feasible region. The shaded polyhedron corresponds to the feasible region of the linear program for A' = ( 1 ) and B1= { 2 , 3 ) . The line segments joining points (0,1.33) and ( 1 , l )and points ( 1 , l ) and (1.33,O) contain all minimal points of the feasible region.
>
>
I7
Eventually, we investigate how to generate partitions { A , B ) of sets Vk. Assume that the inventory in resource k E Rr falls below the safety stock at
2.12. Project scheduling with cumulative resources
143
Figure 2.12.5: Inventory profile after adding constraints (2.12.5) to (2.12.7)
Figure 2.12.6: Feasible region and polyhedron of linear program
time t = Si(i E v , ) or t = S, + p i (i E V;). To enumerate the sets A and B, we construct a binary tree as follows. Each level of the tree belongs t o one activity j E Vk. For each j , we branch over the two alternatives j E A and j E B and add the corresponding constraints (2.12.5) or (2.12.7), as well as in both cases the weakened version
of constraint (2.12.6) to the resource relaxation. Each leaf of the resulting tree corresponds to one specific partition { A ,B} of set Vk.We can suspend the enumeration for pair (i,k) as soon as the inventory shortage a t time S, or Si + p i is settled, even if A U B c Vk. In the latter case, it may be necessary t o resume the branching later on if the shortage reappears while dealing with other inventory conflicts. When there is an inventory excess, we replace inequality (2.12.9) with
Ch. 2. Minimization of Project Duration
144
Algorithm 2.12.10 summarizes the enumeration scheme for solving problem PScltemp, contlC,,,,. We represent the linear programs to be solved a t the enumeration nodes by collections Q of set systems {L~,,B"'} and i k i k { A , B ) ( k E R7,i E Vk). The corresponding linear program LP(Q) is given by the original temporal constraints as well as the constraints (2.12.5), (2.12.7), (2.12.9),and (2.12.10) for the set systems { A , B) from collection Q . R is the set of collections enumerated and r denotes the set of candidate schedules found. After the initialization of the set systems and sets R and I?, in each iteration a collection Q is taken from R and the corresponding linear program LP(Q) is solved. If the resulting schedule S is inventory-feasible, S is feasible and we add S to r. Otherwise, we have an inventory excess or an inventory shortage for a resource k E R7 at the start or completion time of some activity i E &. Accordingly, we put A := and B := B"' or A := &%nd B := p % d consider the two collections Q' and Q" which arise from Q by adding some activity j E Vk to set A and set B , respectively. If the corresponding linear programs are solvable, collections Q' and Q are added to set R. Subsequently, we consider the next collection Q from R and reiterate these steps until all collections have been investigated.
ak
(2.12.10) Algorithm: Enumeration scheme for PScI tenap, contlC,,. Set collection Q := 0 For all k E Rv and all i E Vk d o Put Zk := {i} and g"= Y k:= 0 i
k i
k
Add set systems {kk,pk} and { A , B } to collection Q E n d (*for *) Initialize set of collections R := {Q} and set of candidate schedules r := 0 Repeat Remove a collection Q from set R Determine optimal solution (S,Z, 2) to linear program LP(Q) If S is inventory-feasible t h e n := r U { S ) Else If r k ( S ,Si) > for some i E V; or rk(S,S, +pi) > Xkfor some i E V z t h e n put A := Pk and B := B"' Else Determine an activity i E V c with r k ( S , S i )< &. or an activity i E V[ with r k ( S ,Si +pi) < & I P U ~ A : = & ~ XB, ~: = B ~ E n d (* if *) Select some j E Vk\ ( A U B )
zk
Put
Q'
:= (Q \
{ A ,B } ) U { A U {jl,B}
2.13. Project scheduling with synchronizing resources
145
If LP(Q1) is solvable t h e n R := R LJ{Q'} Put Q1' := (Q \ { A ,B}) U { A ,B U { j } } If LP(Q1') is solvable t h e n R := R U { Q ) E n d (*if *) Until R = 0 R e t u r n I? Since for each k E Rr and each i E Vk,the construction of a corresponding partition {A,B ) requires at most lVklsteps, the depth of the enumeration tree is 0 ( C k , ,JVkI2). Recall that Algorithm 2.12.10 only covers the case of finite demand rates. Eventually, we consider the general case including discrete depletions and replenishments. Here, if the activity i for which there is an inventory conflict at time S, or St + p i for some resource k E R7 is chosen to be a fictitious activity, then i must deplete the stock of resource k. Moreover, it may happen that the inventory conflict for resource k has not been resolved even though A U B = Vk,in which case we perform backtracking. Neumann et al. (2002b) have evaluated the performance of branch-andbound and beam-search implementations of Algorithm 2.12.10 on a test set containing 36 problem instances with 12 continuous cumulative resources and 12 t o 90 activities. The instances arise from varying the number of operations (activities) that are executed in a chemical production plant operated in continuous production mode. The results show that scheduling problems with continuous cumulative resources are much harder to solve than scheduling problems with discrete cumulative resources. In addition, the analysis reveals that beam search is able to improve considerably upon the results obtained by using the exact branch-and-bound method if a limit on the maximum running time is imposed.
2.13
Project scheduling with synchronizing resources
In certain applications of project scheduling, the parallel execution of multiple activities on a renewable resource presupposes that first, these activities are similar in some given respect and second, the activities are started at the same time. We then speak of the renewable resource as a synchronizing resource, and we group those similar activities in activity families. As an example consider staff training after the installation of a new software in a firm. The training of the people from a department can be regarded as an activity of the software installation project and the training staff and equipment is modelled as a synchronizing resource. In general, several departments may be instructed at a time, i.e., the capacity of the synchronizing resource is set t o be equal t o the maximum number of participants per course and the resource
Ch. 2. Minimization of Project Duration
146
requirement of a training activity equals the number of trained people. The people attending the same course should have similar basic knowledge. To this end, the training activities of compatible departments, whose staff can be instructed in the same course, form one activity family. In addition, the requirements for the synchronizing resource ensure that overlapping training activities are started simultaneously at the beginning of the respective course. Different variants of the concept of synchronizing resources have been studied in the literature on machine scheduling (see e.g. Potts and Kovalyov, 2000, or Brucker, 2001, Ch. 8). So-called batching machines can execute several jobs of a batch jointly, where the completion of the batch is defined to be the finishing of the last job in the batch. The execution of a batch usually incurs a setup time. The problem then consists of grouping the jobs in batches and t o schedule those batches on the batching machines. As concerns the computation of the objective function value, we distinguish between two types of batching machines. For parallel (p-)batching machines, the processing time of a batch equals the maximum of the processing times of the jobs in the batch. For serial (s-)hatching machines, the processing time of a batch is defined to be the sum of the processing times of the individual jobs. A synchronizing resource corresponds to a p-batching machine processing incompatible job families (cf. Uszoy, 1995), which cannot be in progress at the same time. In analogy t o Section 2.9, we assume without loss of generality that the setup times are included in the activity durations. Schwindt and Trautmann (2003) have used synchronizing resources to model melting furnaces in metal casting industry. Such a furnace is typically connected t o several casting units into which the melt is founded simultaneously. Hence, the casting operations processing the same batch of melt must be started at the same time. Obviously, only casting operations providing ingots of the same alloy and the same length can be executed in parallel. The latter condition can be modelled by defining activity families referring t o the type of ingot produced. Now let Rube the set of all synchronizing resources and let Vk:= {i E V I rik > 0) denote the set of all activities using resource k E Xu. By 4" we designate the activity family which contains activity a. The constraints referring t o synchronizing resources decompose into three types. First, since synchronizing resources are special renewable resources, we have the classical
resource constraints
saying that for each synchronizing resource k, the number of resource units used must not exceed the resource capacity at any point in time (compare inequalities (2.1.4)). Second, the homogeneity constraints read
4
= 4,
(i,j E Vk n A(S, t ) for some k E R" and some t >_ 0)
(2.13.2)
2.13. Project scheduling with synchronizing resources
147
<
where A ( S ,t ) = {i E V I Si t < Si +pi) again denotes the active set of all activities being in progress at time t . Conditions (2.13.2) ensure that only activities from one and the same family can overlap in time on a synchronizing resource. Third, the simultaneity constraints
S, = Sj (i,j
E
Vkn A ( S ,t ) for some k E Ruand some t 2 0)
(2.13.3)
correspond to the requirement that activities being executed in parallel on a synchronizing resource must be started a t the same time. A schedule S satisfying constraints (2.13.1) to (2.13.3) is called synchronization-feasible. A time- and synchronization-feasible schedule is termed feasible. A feasible schedule with minimum project duration is said to be optimal. The problem to find an optimal schedule is denoted by PS(ternp,pbatch(C,,,,, where pbatch stands for parallel batching. Next, we show how to remove violations of the three types of constraints (2.13.1) to (2.13.3) by introducing appropriate precedence relationships & mong activities. As we have seen in Suhsection 2.5.1, a resource conflict at a time t can be resolved by defining precedence constraints S j 2 Si +pi between some delaying activity i from forbidden active set A ( S ,t ) and a minimal delaying alternative B for set A ( S ,t), where i $ B. In case of a homogeneity conflict at a time t , active set A ( S , t ) contains activities of different families using the same resource k E Ra. Clearly, for all i, j E Vk belonging to different families 4i and $j, the homogeneity constraints (2.13.2)require that either Sj 2 Si+pi or Si 2 Sj +pj. Accordingly, to resolve a homogeneity conflict for resource k , we select one activity i E n A ( S ,t ) and shift all activities j E Vkn A ( S ,t ) with q5j # di behind i by introducing precedence constraints S, 2 S, +pi between i and all those activities j. The reasoning why one and the same delaying activity i can be chosen for all activities j is analogous to the proof arguments for Theorem 2.5.7. Next, we assume that at a time t , we have a simultaneity conflict for a resource L E 72' because overlapping activities i E V k n A ( St, ) are not started jointly. Without loss of generality we may assume that set & n A ( S , t ) only contains activities of one and the same family because otherwise, we may at f i s t resolve the homogeneity conflict on resource k a t time t. The simultaneity constraints (2.13.3) say that for any two activities i, j E Vk we must ensure that S, = S f , Sj 2 Si + p i , or Si 2 S j + p j . This can n A ( S , t ) (henceforth be achieved as follows. We select an activity i E called the synchronizing activity) and for each activity j E VknA(S,t) with Sj < Si, introduce the temporal constraint S j 2 Si and for each activity j E VknA(S,t ) with Sj > Si, introduce the precedence constraint S j 2 Si+pi. Note that since Sj 2 Si +pi implies Sj 2 Si, it is not necessary to consider, for fixed i , the case where precedence constraints Sj 2 Si +pi are introduced for activities j being started earlier than synchronizing activity i. The case where for some activity j being started after i we introduce constraint Si Si corresponds to the case of choosing j to be the synchronizing activity.
>
148
Ch. 2. Minimization of Project Duration
Now let P(S) := { ( i , j ) E V x V I Si 2 St) be the reflexive and transitive relation (i.e. the order, see Definition 1.4.8) in set V that corresponds to all start-tostart precedence relationships Sj 2 Si induced by schedule S . Our approach to solving problem PSltemp,pbatchlC,, is based on constructing a strict order 0 and a transitive relation P in set V, where 0 corresponds to the completion-to-start precedence relationships Sj 2 Si + p i and P to the start-to-start precedence relationships Sj 2 S, introduced in the course of the algorithm. By ST(O,P):= {S E ST I S, 2 Si + p i for all (i, j) E 0 and S, 2 S, for all (i,j)E P} we denote the set of all timefeasible schedules which satisfy the precedence and temporal constraints given by strict order 0 and transitive relation P, respectively. The enumeration scheme is then as follows (cf. Algorithm 2.13.1). R is the set of order-relation pairs ( 0 , P) stored in the enumeration tree and r again denotes the set of candidate schedules found. After the initialization of R and r, in each iteration one order-relation pair ( 0 , P ) is taken from R and the earliest schedule S = minST(O,P) in search space ST(O,P) is computed. If S is synchronization-feasible and thus feasible, S is added to set r of candidate schedules. Otherwise, depending on the type of constraint violated, either strict order 0 is expanded (in case of a resource or homogeneity conflict) or both 0 and transitive relation P are expanded (in case of a simultaneity conflict). If the resulting search space is nonempty, the new order-relation pair is added to set R. We then remove the next order-relation pair from R and reiterate these steps until R = 0. (2.13.1) Algorithm: Enumeration scheme for
P S I t e m p , pbatchlC-. Initialize set of order-relation pairs R := {(@,PI))and set of candidate schedules I' := 0 Repeat Remove an order-relation pair ( 0 , P) from set R Determine schedule S = min ST(O,P) If S is synchronization-feasible then r := I? U{S) Else If there exists a point in time t such that A(S, t ) is forbidden then Compute set B of all minimal delaying alternatives B for A(S, t), that is, do B := 0, MininaalDeIayingAltematives(A(S, t ) ,0 , B ) For all B E 8 do For all i E A(S, t ) \ B do Introduce precedence relationships between completion of i and starts of all activities j E B, that is, put 0':= t r ( 0 U{(i, j) I j E B))
2.13. Project scheduling with synchronizing resources
149
If ST(O1,P) # 0 t h e n R := R U{(O', P)} E n d (*for *) E n d (*for *) Else if there exists a point in time t and a resource k E Ru such that 4i # Zi for some i , j E Vkn d ( S , t ) t h e n For all i E Vk n A(S, t ) d o Put B:={j~V'nd(S,t) I + j + + i } Introduce precedence relationships between completion of i and starts of all activities j E B, that is, put 0' := t r ( 0 U {(i, j ) I j E B)) If ST(Ot,P) # 0 t h e n R := R U{(0', P)) E n d (*for *) Else Determine a point in time t and a resource k E R" such that Si # Sj for some i, j E Vk n A(S, t ) For all i E Vk n A(S,t ) do P u t B 1 : = { j e V k n A ( S , t ) I S j > S i ) a n d B 2 : = {j E V ' n d ( s l t ) I Sj < Si} Introduce precedence relationships between completion of i and starts of all activities j E B1, that is, put 0' := t r ( 0 U {(i,j) I j E B1)) Introduce precedence relationships between start of i and starts of all activities j E B2, that is, put P' := t r ( P U{(i, j) I j E B2)) If ST(O', PI) # 0 t h e n R := R U {(0', P')) E n d (*for *) E n d (*if *) E n d (*if *) Until R = 0 R e t u r n I? In an experimental performance analysis, Schwindt and Trautmann (2003) have applied branch-and-bound and filtered beam search methods to production scheduling problems in metal casting industry, where casting units are grouped in synchronizing resources. The resolution of resource conflicts for the synchronizing resources is based on the enumeration scheme of Algorithm 2.13.1. For instances with up to 150 activities, the branchand-bound and filtered beam search methods have been tested with several running time limits. In terms of accuracy, the heuristic method clearly outperforms the exact algorithm terminated prematurely even if the computing time of the latter algorithm is much larger than for filtered beam search. The
150
Ch. 2. Minimization of Project Duration
better performance of filtered beam search is mainly due t o the larger versity of the schedules enumerated when prematurely pruning the enumeration tree. di
2.14
Project scheduling with sequencedependent changeover times
This section deals with project scheduling problems where renewable resources have sequence-dependent setup times. The setup time is necessary to prepare the required resource for processing the respective activity. In general, the setup time depends on the preceding activity as well and will thus be referred to as the changeover time. Recall that in Section 2.9, we have considered the more specific case of a setup time depending only on the respective resource k E R and the activity j E V to be processed on k. 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 . Changeover times are typical of process industries, where processing units like reactors or filters have to be cleaned after the completion of certain activities. In general, the cleaning time will be larger when switching from a low- to a high-quality product than vice versa. Batch scheduling in process industries as an application of resource-constrained project scheduling is dealt with in more detail in Section 2.16. There is an extensive literature dealing with sequence-dependent changeovers in shop floor environments, where in general the objective is to minimize the sum of all costs associated with changeovers (for a literature review, we refer t o Aldowaisan et al., 1999). Brucker and Thiele (1996) have devised a branch-and-bound algorithm for a general-shop problem where a set of operations has to be sequenced on dedicated machines subject to first, prescribed precedence constraints between operations and second, sequencedependent changeover times between consecutive operations such that the makespan is minimized. Kolisch (1995, Ch. 8) has shown how to model changeover times between activities of a project by introducing alternative execution modes for the activities (see Section 2.15). The changeover times between two activities are assumed to be equal to a sequenceindependent setup time or equal to zero, depending on whether there is a need for a setup or not. Moreover, the capacity Rh of each resource k equals one. Trautmann (2001a, Sect. 3.3) has discussed a branch-and-bound algorithm for minimizing the project duration in case of arbitrary resource capacities Rk, single-unit resource requirements rik E {0,1), and general sequencedependent changeover times. In this section, we drop the assumption of single-unit resource requirements. In practice, this assumption is generally satisfied if the resources correspond t o pools of identical machines. In the context of research and development projects, however, the resources often represent staff of the same skill working jointly on specific tasks in different interdisciplinary teams.
2.14. Project scheduling with sequenc&ependent changeover times
151
Each task requires a certain lead time necessary to the training of the staff. Since the training of a person moving from one task to another depends on the difference between the two tasks, the lead times and thus the changeover times between tasks are sequence-dependent. A further application of project scheduling with sequence-dependent changeover times is given by Schwindt (2002, Sect. 5.2). Here, several subprojects sharing common resources are performed in parallel at diierent sites. The time needed t o transfer resource units from one site to another clearly depends on both locations. Such a transfer is required each time a resource unit consecutively processes two activities belonging to different subprojects. Thus, the transfer times can be modelled as sequence-dependent changeover times between activities. := { i E V [/ rik > 0 ) be the set of all activities using resource k . Let With t9fj E ZLo, where i, j E V k:= VkU ( 0 , n 11, i # j , we denote the changeover time on resource k from activity i to activity j. In what follows, we assume that the weak triangle inequality
+
is satisfied for all triples (h,i, j ) with h, i , j E Vk, h # a , i # j , h # j. This assumption is generally met in practice because otherwise it would be possible to save changeover time by processing additional activities. Moreover, for notational convenience we assume that 19& = 0 and t9f,,+, = 0 holds for all k E R and all i E Vk.The latter conditions can always be fulfilled by introducing the minimum time lags = m a x k , ~@, and Ti;, = maxk~.R19:,+, and then putting 19:~:=fit,+,:= 0 ( k E 72, i E V k ) . The resource-constrained project scheduling problem with sequence-dependent changeover times can be stated as follows. We strive a t minimizing the project duration such that the given minimum and maximum time lags are observed and the resource demands by activities and changeovers do not exceed the respective resource capacities. In the threefield notation of project scheduling, this problem is denoted by PSJtemp,sij(C,,, where sii indicates that sequencedependent changeover times must be observed. Problem PSItemp, sijJC,,,, decomposes into two interdependent subproblems, the unit-assignment problem of allocating resource units to the activities of the project and a resource-constrained project scheduling problem where activities sharing common resource units must not be in progress at the same time. A feasible solution to the latter problem is referred to as a changeover-feasible schedule. More precisely, for resource k E 72 and activity i E Vk,let X k ( i ) with IXk(i)l = rik be the set of units of resource k allocated to activity i. We call a schedule S changeover-feasible if for each resource k E 'R, mapping X I ,: Vk4 2N can be chosen such that
&(a)
n X k ( j ) # 0 implies
sj 2 S, +pi+o,kj or Si 2 S j t p j + q i
( i , j E Vh, i # j )
(2.14.1)
and X
1 . ., R
( i E Vk)
(2.14.2)
152
Ch. 2. Minimization of Project Duration
(2.14.1) says that if there is a unit of resource k processing both activities i and j, then activities i and j (including the changeover) must not overlap. (2.14.2) limits the availability of resource k to Rkunits. Since all changeovertimes are nonnegative, we have (2.14.1) Remark. A changeover-feasible schedule is resourcefeasible.
A time- and changeover-feasible schedule is termed feasible. A feasible is called an optimal schedule schedule S minimizing the project duration for PSI temp, sijICm,. For finding an optimal schedule, we have t o determine mappings X k (k E R) satisfying conditions (2.14.2) (i.e. a solution t o the unit-assignment problem) and a schedule S for which conditions (2.14.1) hold (i.e. a solution t o the resource-constrained project scheduling problem) in such a way that Sel is minimum. In the following, we develop a problem formulation suitable for the s e lution method discussed later on, where we solve the unit-assignment and resourceconstrained project scheduling problems simultaneously. This formulation is based on a model for aircraft scheduling presented in Lawler (1976, Sect. 4.9). Let S be some schedule. For problem PSltemp,~,~lC,,, the analogue to strict order O(S) = {(i,j ) E V x V I Sj 2 S, + p i ) for PSltemplC,,,,, introduced in Section 2.3 is the relation
>
vk
@ ( s ) := {(i,j ) E x vk I i # j, Sj S, +pi + 8 f j } (k E R) (2.14.3) Due t o the weak triangle inequality and pi > 0 for all i = 1, . . . , n, relation d k ( s ) is transitive and asymmetric and thus represents a strict order in set v k . In contrast to the case without changeover times, however, the does not represent an interval order in schedule-induced strict order general (cf. Subsection 2.3.1). Given schedule S , the problem of checking the changeover-feasibility of S can be formulated as follows. Let 9Fj 0 with (i,j ) E @(s) be the number of units of resource k which are changed over from activity i t o activity j . Obviously, the quantities 9$ 0 define a set of equivalent unit assignments, which are identical up t o the numbering of resource units. Condition (2.14.1) is satisfied precisely if for each activity i E Vk,there are exactly rik units of resource k changed over from any activities h E Vlt t o activity i and conversely, there are exactly rikunits of resource k changed over from activity i to any activities j E v k , that is,
ak(S')
>
>
@& corresponds to the number of units of resource k E R that have t o be set up (i.e. changed over from 0 to some r e d activity i). Thus, observing equations (2.14.4) condition (2.14.2) can be rewritten as
153
2.14. Project scheduling with sequencdependent changeover times
(2.14.2) Example. Fig. 2.14.1 shows a changeover-feasible schedule S with an assignment X of activities to units of a single resource and the corresponding nonzero values Qi, (for simplicity, we omit the resource index k). The dark-shaded rectangles correspond t o changeovers between the processing of two consecutive activities on one and the same resource unit. As can easily he verified, function X and schedule S satisfy conditions (2.14.1) and (2.14.2). Equivalently, values Qij and schedule S meet equations (2.14.4) and inequality (2.14.5).
Figure 2.14.1: Gantt chart for changeover-feasible schedule
From the above reasoning it follows that a schedule S is changeoverfeasible exactly if for each resource k E R, the minimum objective function value Fk ( S ) for the problem Minimize
9:i i€Vk
subject t o
Q,k,= rik ( i E Vk)
= (h,i)~d*(~)
(2.14.6)
( i , j ) ~ 6 ~ ( ~ )
2o
( ( i , j )E O k ( S ) )
is less than or equal t o capacity Rk. Problem PSltemp, sijlC,, formulated as follows: Minimize subject t o s ~ ~ (5S Rk ) S j - Si 2 &j
si 2 0 so= 0
can then be
( k E 72) ((2,j) (2
E
E)
EV )
For each resource k E R,problem (2.14.6) of computing Fk(S)represents arc set a minimum flow problem in the flow network G k with node set { ( i ,j ) I ( i ,j ) E O k ( s ) ) ,and lower and upper node capacities. Note that 0 is the unique source and n + 1 is the unique sink of flow network Gk The problem is t o find a nonnegative flow of minimum value from source 0 t o sink n+ 1 in G k such that for every node i E Vkrthe mass balance constraints are satisfied and the total outflow of node i equals r i k .
v,+,
154
Ch. 2. Minimization of Project Duration
The capacities r i k of nodes i E Vk can be transformed into equivalent arc capacities by splitting up every node i E Vk into two nodes i' and i" linked by arc (i', a") with lower and upper capacity li,i,~= u.,.,, . The original 1 1 = r*,. arcs ( i , j) with (i, j) E G k ( s ) have lower capacity lij = 0 and upper capacity 2lij = co.The resulting network flow problem can be solved in O(/Vkl3)time by well-known network flow techniques (e.g. by two applications of the FIFO preflow-push algorithm, cf. Ahuja et a]., 1993, Sect. 7.7, and Bang-Jensen and Gutin, 2000, Sect. 3.9). The changeover-feasibility of a given schedule S can thus be verified in O(IRllV13) time. Qk in Gk The network flow methods do not only provide a minimum-1 flow -11 from source 0 to sink n + 1 but also a maximum (0, n+l)-cut [V,, V,], whose capacity equals the minimum flow value C(,,i), ),(, (cf. Ahuja et al., 1993, + -,, Sect. 6.5). Cut [Vk,Vk]defines an active set of activities At(S) := {i E -+ -11 Vk I ( i l , i " ) E [Vk,Vk]}. The activities from Ak(S) (including changeovers) pairwise overlap in time (i.e., [Si, Si pi + 19: [ n[Sj, Sj pj + t9;i [ # 0 holds Tikl for all i , j E &(S)). Since the capacity of cut v k , v i ] equals CiEAk(s) schedule S is changeover-feasible exactly if none of the active sets dk(S) (k E a)is forbidden. Recall the concept of the precedence graph of a strict order (cf. &mark 1.4.5a). Ak(S) coincides with a maximum-weight stable set in the precedence graph of strict order 6"s) where the nodes i E VI, are weighted by rik (a set of nodes V' in a graph is called a stable set if no two nodes from V' are adjacent). Recall that orders @(s) generally do not represent interval orders (for which a maximum-weight stable set in the precedence graph can he found in O(ldk(s)I) time by computing a maximum-weight clique in the associated interval graph, cf. Golumbic, 1980, Sects. 4.7 and 8.2).
,- @ti
+
+
(2.14.3) Example. We illustrate the verification of changeover-feasibility for the single-resource project from Examples 2.1.3 and 2.5.3 with changeover times given by Table 2.14.1. Fig. 2.14.2 shows the corresponding project network N. The resource capacity is R = 3.
Table 2.14.1: Changeover times 19,
Fig. 2.14.3 depicts the Gantt chart for the earliest schedule (see Example 2.1.3) and the precedence graph G ~ ( Eof~ the ) corresponding scheduleinduced strict order ~ ( E s ) . Pairs (1,s) and (2,5) are not contained in
2.14. Project scheduling with sequencedependent changeover times
155
Figure 2.14.2: Project network N with a single resource ~ ( E s ) because the time lag between the completion of activities 1 and 2, respectively, and the start of activity 5 is not sufficiently large for the respective changeovers. The nodes i E V of the precedence graph are weighted by the resource requirements ri. The shaded nodes 1, 2, and 5 form a maximumweight stable set in G ~ ( E S ) .
Figure 2.14.3: Gantt chart for earliest schedule ES and precedence graph for schedule-induced strict order ~ ( E s ) The flow network G for computing the maximum-weight stable set A(ES) in precedence graph G ~ ( E S )results from G ~ ( E S )by adding all redundant arcs (cf. Remark 1.4.5b), splitting up all nodes i = 1,.. . , 5 into two nodes 'i and a" each, and linking those new nodes by arcs (if,i") with lower and upper capacities equal to ri. Fig. 2.14.4 shows a minimum flow from source 0 t o sink 6 with value P(ES) = 6. The corresponding maximum (0,6)-cut [{0, l', 2', 3', 3", 4', 4", 5'1, {I", 2", 5", 611 is indicated by the boldline arcs (0,6), (Ir,I"), (2', 2 7 , (3", 6), (4", 6), and (5', 5"). Consequently, the set A(ES) = {1,2,5} of all real activities i for which the maximum
156
Ch.2. Minimization of Project Duration
(0,6)-cut separates nodes a' and i" represents a forbidden active set with
C,EA(ES) ri = 6.
Figure 2.14.4: Flow network G with minimum flow and maximum cut Fig. 2.14.5 again shows the Gantt chart for earliest schedule ES, where the changeovers given by the minimum flow are represented by dark-shaded rectangles (recall that flow Qf; on arc ( 2 , j ) corresponds to the number of units of resource k that have to be changed over from activity i t o activity j ) . The dashed-line rectangles indicating (hypothetical) changeovers between activities 1 and 5 and activities 2 and 5, respectively, illustrate that activities 1, 2, and 5 are pairwise overlapping.
Figure 2.14.5: Gantt chart for earliest schedule ES
The computation of a maximum (0, n + l)-cut in flow network GQan be further simplified. It can easily be shown that any maximum (0, n 1)-cut in G k is a uniformly directed cut containing only forward arcs (i.e. arcs (i, j) with i E and j E Hence, equations (2.14.4) can be replaced by >) r i b , which implies that it is sufficient t o C(h,i:)E~*(s) 'ki = x(i, j ) ~ 6 *+k (ZI~conslder the lower arc capacities lij only. Since in addition, all arcs (i,j ) of G k that correspond to pairs (i,j) E @(s)have zero lower capacity, the
+
vk
vl).
157
2.14. Project scheduling with sequencedependent changeover times
deletion of redundant arcs does not change the value of a minimum (0, n+ 1)flow. The transitively reduced pow network obtained from G k by deleting all redundant arcs and cancelling the upper arc capacities is denoted by Gk. Any contains only arcs (it,i") obtained by splitting maximum (0, n 1)-cut in u_psome node i E Vk. Fig. 2.14.6 shows the transitively reduced flow network G belonging to the flow network G of Fig. 2.14.4 and the corresponding minimum flow from source 0 to sink n 1. The maximum (0,6)-cut is given by the bold-line arcs (If,I"), (2', 2'7, and (5', 5").
+
ck
+
Figure 2.14.6: Transitively reduced flow network and maximum cut
G with
minimum flow
Similarly to the enumeration scheme from Subsection 2.5.5 for problem PSItemplC,,,,, time- and changeover-feasible schedules can be enumerated by constructing appropriate strict orders d k . Let s&(dk) := {S E STI Sj 2 S; + p i 19: for all (i,j ) E dk}be the order polyhedron of Gk, that is, the set of all time-feasible schedules satisfymg the precedence relationships given by strict order d k . The intersection nk,,~$(d" represents the set of timefeasible schedules belonging to the order network ~ ( b '. ,. . , 61RI) that results from project network N by adding an arc (2, j ) with weight haj = pi d,ki for each resource k E R ' and each pair (i, j) E d k . Thus, the polyhedron n k E R s & ( b kis) either empty or it possesses exactly one minimal point S = min @(a k),-which can be computed by longest-path calculation in order network N(O', . . . , dIRI)(cf. Lemma 2.4.7 and Remark 2.4.8). Minimal point S again coincides with the earliest start schedule belonging to AoN network N(@, . . . , dlRl). Let R denote a set of order tuples ( d l , . . ., dlRI), and let r be the set of time- and changeover-feasible (candidate) schedules generated. At the beginning, we have R = ((0,.. . ,0))and ! = i0. In each iteration, we remove an order tuple ( b l , . . . , 61Rl)_fromR and determine the corresponding earliest schedule S = min nke.RS$(Ok)).For each resource k E R,we then compute the active set Ak(S) by solving the respective maximum cut problem in transitively reduced flow network @, If none of those active sets is forbidden, S is feasible, and we put I? := I? U {S). Otherwise, we choose one of the
+
+
nk,,
158
Ch. 2. Minimization of Project Duration
forbidden active sets, say Ak(S),and compute all minimal delaying modes (i, B) for d k ( S ) . The corresponding order tuples ( a 1 , .. . , d l , .. . , 61RI) with dl = tr(bku{(i, j ) ( j E B)) are added to set R if polyhedron n k e R s $ ( o k ) n ~ $ ( 6 ' )is nonempty. We then take the next order tuple from R and proceed analogously until R = 0. Algorithm 2.14.4 summarizes this procedure. (2.14.4) Algorithm: Enumeration scheme for PSI temp, sijlCm,.
Initialize set of order tuples R := ((0,.. . ,0)) and set of candidate schedules r := 0 Repeat Remove an order tuple (a1,. . . , dlRI) from set R Determine schedule S = min n k E R s $ ( a k ) If S is changeover-feasible then r := r U {S) Else Determine forbidden set Ak(S) for some k E R Compute set U of all minimal delaying alternatives B for Ak(S), that is, do U := 0, MinimalDelayingAlternatives(Ak(S), 0, U) For all B E B do For all i E Ak(S) \ B do Introduce precedence relationships for resource k between i and all activities j E 8 , that is, put 0' := t r ( a k U ( ( 2 , j ) 1 j E B)) If (nk,,,s$(bk')) n s$(dl) # 0 then n := n u { ( a i , . . . , d l , .. . , alRl)} End (* if *) End (*for *) End (*for *) End (* if *) Until R = 0 Return Analogously to the proof of Proposition 2.5.9 it can be shown that in a finite number of iterations, Algorithm 2.14.4 generates a set l' of candidate schedules containing at least one optimal schedule S if there is a time- and changeover-feasible schedule, and returns r = 0, otherwise. (2.14.5) Example. We return to the project of Example 2.14.3. As has been illustrated above, the forbidden active set of the first iteration is A(S) = {1,2,5}. For the corresponding set of minimal delaying alternatives for A(S), we obtain U = { { l }5 Accordingly, we add order tuples (((5, I),(5,2))), ({(1,5))),
2.14. Project scheduling with sequence-dependent changeover times
159
and ( { ( 2 , 5 ) ) )to set R. In the next iteration, we remove one of those tuples from R, say (((5, I ) , ( 5 , 2 ) ) ) . We compute the corresponding earliest schedule S and determine a minimum flow @ in the flow network 6 belonging to order d ( ~(6. ) Fig. 2.14.7). Fig. 2.14.8 shows the Gantt chart for schedule S , where again dark-shaded rectangles stand for changeovers between adjxent activities. Since the value T ( S )= 3 of @ equals the resource capacity, schedule S is changeover-feasible,and we add S to r. 2, 2
Legend:
Figure 2.14.7: Transitively reduced flow network
6 for second iteration
Figure 2.14.8: Gantt chart for optimal schedule For both remaining order tuples ( { ( 1 , 5 ) ) )and ( { ( 5 , 2 ) ) ) ,the computation of the corresponding active sets yields the forbidden set A ( S ) = { 1 , 2 , 3 ) . Both resulting minimal delaying modes ( 1 , (2)) and ( 1 , (3)) lead to a cycle of positive length in the order network ~ ( b )where , d is the corresponding strict order constructed. Hence, set R becomes void, and the schedule displayed in Fig. 2.14.8 is optimal. Finally, we summarize the results of an experimental performance analysis of a branch-and-bound method based on the enumeration scheme of Algorithm 2.14.4, where for breaking up forbidden sets, we use disjunctive precedence constraints minjGBSj 2 miniGA(Si+pi +79fj) instead of the (ordinary) precedence constraints Si 2 Si +pi + r9$. The test set used consists of the 360 projects from Subsection 2.8.2 with 1 0 , 2 0 , 5 0 , and 100 activities. The changeover times have been chosen at random such that the expected value of equals 0 . 2 5 ~ ( k~E R,i, j E Vk). The branch-and-bound changeover time algorithm has been coded in ANSI C. The tests have been performed on a
195
160
Ch. 2. Minimization of Project Duration
PI1 personal computer with 333 MHz clock pulse and Windows NT 4.0 as operating system. For the different numbers n of real activities, Table 2.14.2 gives the percentages pWt,pin., pnwt, and punk of instances for which within a running time limit of n seconds optimality has been shown, insolvability has been shown, a feasible but not necessarily optimal schedule has been found, or the solvability status has remained unknown. Table 2.14.2: Performance of branch-and-bound procedure based on Algorithm 2.14.4 for PSI temp, sqIC,,
2.15
Multi-mode project scheduling problems
In many real-life applications of project scheduling, an activity can be carried out in one out of finitely many alternative execution modes which differ in processing time, time lags, and resource requirements. Such a project scheduling problem arises, for example, if the execution of activities can be speeded up by using more resources (tame-resource tradeoff) or if the use of some resource can be (partially) replaced by the use of an alternative resource (resource-resource tradeoff). Sometimes there is also a tradeoff between the consumption of nonrenewable resources like the project budget and the processing time or use of renewable resources. As for renewable resources, the availability of nonrenewable resources is limited. The availability of nonrenewable resources, however, does not refer t o individual points in time hut to the entire planning horizon. Each time an activity is carried out, the residual availability of a nonrenewable resource is decreased by the corresponding resource demand (e.g. the disbursement incurred by the activity). Thus, nonrenewable resources can be viewed as special cumulative resources (cf. Section 2.12) that are depleted over time 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 he omitted when dealing with single-mode project scheduling problems. Since the early eighties, the multi-mode project scheduling problem with precedence constraints among the activities instead of general temporal constraints has been treated by several authors. Exact algorithms have been reviewed and their performance has been tested by Hartmann and Drexl
2.15. Multi-mode project scheduling problems
161
(1998). The most efficient method for solving this problem known thus far is the branch-and-bound algorithm of Sprecher and Drexl (1998). Hartmann (1999, Sect. 7.3) has compared several heuristic approaches. An experimental performance analysis in the latter reference shows that a t present, - presented the best procedure is a genetic algorithm published by Hartmann (2001), which is based on the activity-list representation of schedules (cf. Hartmann, 1998, and Subsection 2.7.1). For the case of general temporal constraints, three different algorithms have been proposed in literature. The tabu search procedure by De Reyck and Herroelen (1999) performs a local search within the set of possible mode assignments to activities (see also Demeulemeester and Herroelen, 2002, Ch. 8, Subsect. 5.2). For given activity modes, the resulting single-mode problem is then solved by the branch-and-bound algorithm for PSltemplC,,,, presented in De Reyck and Herroelen (1998a). Dorndorf (2002, Ch. 6) has described an extension of the branch-and-bound algorithm by Dorndorf et al. (2000a) for PSItemplC,,, (see Subsection 2.5.6) to the multi-mode case, where mode assignment and activity scheduling are iterated alternately. In this section, we discuss the enumeration scheme of a branch-and-bound procedure proposed by Heilmann (2003), where similar to Dorndorf's method, the selection of activity modes and the allocation of resources are performed in parallel. An outline of Heilmann's algorithm can also be found in Demeulemeester and Herroelen (2002, Subsect. 8.5.1). Moreover, we explain how the direct priority-rule method from Section 2.6 can be generalized to the case of multiple execution modes. Those methods are described in more detail in Heilmann (2000, 2001).
2.15.1
Problem formulation and basic properties
A multi-mode project scheduling problem decomposes into two subproblems: the s w a l l e d mode assignment problem and the (single-mode) project scheduling problem. Let Mi denote the set of alternative execution modes for activity i E V. The mode assignment problem consists of finding a mode v , ~xirn, ; ~ E~{ O, , l ) (i E V, mi E M i ) and assignment x = ( ~ i ~ ; ) i ~ with
such that x complies with the nonrenewable-resource constraints and the temporal constraints. xi,, equals one exactly if activity a is carried out in mode mi. Each (mode) assignment x defines a corresponding singlemode project scheduling problem, where the nonrenewable resources may be omitted. Let RP be the set of renewable resources (until now denoted by R ) and R" be the set of nonrenewable resources. Rk E N denotes the availability of resource k E R P U 72". By pim, E Z>Oand rikmi E Z>Owe denote the processing time and requirement for resource k E R" u"RP, respectively,
162
Ch. 2. Minimization of Project Duration
if activity i is executed in mode m, E Mi.Given an assignment x, the consumption of nonrenewable resource k by activity i is
The total consumption of nonrenewable resource k for assignment x is
An assignment x is called resource-feasible, if it satisfies the nonrenewableresource constraints
rL(x) 5 Rh (k E R") (2.15.2) In general, alternative mode assignments x are associated with different singlemode project networks N ( x ) . Without loss of generality, we assume that the node set V and arc set E of N(x) are the same for all assignments x. For each arc ( i , j ) E E , the associated minimum or maximum time lag may depend on the execution modes of both activities i and j. For instance, if activity j cannot be started until activity i has been completed, the weight of arc (i, j ) equals the modedependent duration of activity i. If activity i must be started by the completion of activity j , the weight of ( a , j ) is equal to the negative mode-dependent duration of activity j. Hence, the weight of an arc ( i , j ) E E in the multi-mode project network N represents a matrix bij = (6imijmj)miEM,,m,E~,, where the elements 6,rnijmj E Z denote the (scalar) arc weights that refer to the execution of activity i in mode miE M iand execution of activity j in mode miE Mj. For assignment x,
is the resulting weight of arc (a, j ) in network N(x). An assignment x is called time-feasible if N(x) does not contain any cycle of positive length. A time- and resourcefeasible assignment is referred to as a feasible assignment. A schedule S is said to be time-feasible with respect to assignment x if S satisfies the temporal constraints (2.15.1) Example. Fig. 2.15.1 shows the project network N for a project with four real activities, each of which can be executed in two alternative modes, say, modes 1 and 2. r,P,r;, and pi stand for the vectors of modedependent renewable and nonrenewable resource demands and durations of activity i , respectively. We assume that the availability of the nonrenewable resource is R = 8. There are 24 = 16 different mode assignments x. For each mode assignment x, Table 2.15.1 shows the total consumption ru(x) and the length &(x) &(x) of the only cycle (3,4,3) in project network N,where the bold entries indicate resource or timefeasibility of the respective mode assignment x. There are seven feasible mode assignments. C]
+
2.15. Multi-mode project scheduling problems
163
Legend:
Figure 2.15.1: Multi-mode project network N with one renewable and one nonrenewable resource
Table 2.15.1: Alternative mode assignments mi with ximi= 1
+
i = 1 i = 2 i = 3 i = 4 r"(x) ~ i 3 ~ ( 2 )Ci43(x) x feasible 1 1 1 1 11 1
Given assignment x, let pi(x) := pim,ximibe the corresponding duration of activity i. For schedule S , the set of activities being processed at time t then equals A($, t , x) := { i E V I Si 5 t < S, + p i ( x ) ) , again called the active set a t time t. Let
denote the requirement of activity i for renewable resource k. The amount of renewable resource k used at time t is then given by
164
Ch. 2. Minimization of Pro.ject Duration
Analogously to the single-mode case, -
d(x) :=
max(p,(x), max hj(x)) rEV
(4EE
represents an upper bound on the shortest project duration given assignment x. A schedule S which satisfies the renewable-resource constraints
is called resource-feasible with respect to assignment x. Note that the resourcefeasibility of an assignment x requires that the nonrenewable-resource constraints (2.15.2) are satisfied. The resource-feasibility of a schedule S (with respect to an assignment x) requires that the renewable-resource constraints (2.15.4) are fulfilled. A schedule that is time- and resourcefeasible with respect to assignment x is termed feasible with respect to x. The problem of finding a schedule S which is feasible with respect to some feasible assignment x and which minimizes the project duration can be stated as follows: Minimize subject to
C
x:,
=1
(i E V)
miEM,
r;(z) 5 Rk
( k E R")
ri(S, t, x) 5 Rk ( k E RP, 0 5 t S, -Si >&,(x) ((2,j) E E )
5 a(x))
si 2 0 so= 0
(2 E V)
xi,,
(i E V, mi E M i )
E {O,1)
A feasible solution to problem (2.15.5) consists of a schedule-assignment pair (S,x), where x is a feasible assignment (i.e. a solution to the modeassignment problem) and S is a feasible schedule with respect to x (i.e. a feasible solution to the respective single-mode project scheduling problem). An optimal solution is a feasible solution (S, x) with minimum project duration In the three-field notation by Brucker et al. (1999), problem (2.15.5) is denoted as MPSltemplC,,, where MPS stands for multi-mode project scheduling. Next, we investigate the tractability of MPSltemplC,,. From Theorem 2.3.13 it immediately follows that the problem of testing whether or not an instance of MPSltemplC,, is solvable is NP-complete. We now show that already decidin~on the existence of a resource-feasible or a time-feasible mode assignment x represents an NP-complete problem. As a consequence, multi-mode project scheduling problems can only be solved by enumerating alternative mode assignments.
-
2.15. Multi-mode project scheduling problems
165
(2.15.2) Theorem. The problem of testing whether there is a resource-feasible mode assignment x for a given instance of MPSltemplC,, is NP-complete. Proof. Obviously, the resource-feasibility of a mode assignment x can be verified in polynomial time by comparing the total consumption r ; ( x ) with the respective availability Rs for all nonrenewable resources k E 72". Hence, the above decision problem belongs to NP. Kolisch (1995, Sect. 2.3) has shown by a polynomial transformation from KNAPSACK (cf. Garey and Johnson, 1979) that the decision problem is NP-hard.
(2.15.3) Theorem. The problem of testing whether there is a timefeasible mode assignment x for a given instance of MPSltemplC,,,, is NP-complete. Proof. The time-feasibility of a given mode assignment x can be checked in polynomial time by longest-path calculations in network N ( x ) . Thus, the problem t o decide upon the existence of a time-feasible mode assignment belongs to NP. To show NP-hardness, we construct a polynomial transformation from problem PARTIALLY ORDERED KNAPSACK (cf. Garey and Johnson, 1979). Given a finite set Z of v indices i with size s(i) E N and value v ( i ) E N,a knapsack capacity K E N,a value threshold M E N, and a strict order 4 in set Z. The question is whether or not there is a set 2' Z such that i E Z' and i < i' imply i' E T and such that CiEl,s ( i ) 5 K and CaEerv ( i ) 2 M. An equivalent instance of the decision problem for MPSJtemplC,,, can be constructed as follows. For each index i E 2, we introduce two activities it and a" with two execution modes each, say, modes 1 and 2. Index i is put in set 2' exactly if both activities i' and i" are performed in mode 1. For each activity pair ( a , j) with i,j E Z and i + j, we ensure that activity j' has t o be performed in mode 1 if activity it is carried out in mode 1. To this end, we introduce two arcs (it,j ' ) and ( j ' ,i t ) weighted by
6.,,,
=
(
-W
-w
-W
)
and
hOi, =
( -? U;:I )
with w := m a x ( C i t z s ( i ) ,C i E z v ( i ) ) . Thus, choosing mi, = 1 and mj, = 2 yields a cycle of positive length in project network N ( x ) . For each activity pair (i', i f ' )belonging t o an index i E Z, we define two arcs ( i t ,i")and (il',it) with weiahts
which enforce a mode-identity constraint between those two activities, that is, i1and i" must be executed in the same mode to avoid a cycle of positive
166
Ch. 2. Minimization of Project Duration
length in N ( x ) . Let i,, . . . , i, be an arbitrary ordering of the indices i E Z. For any two activities i l and a;+, with p = 1,.. . , v - 1, we introduce an arc (i:, i;+,) with weight
Analogously, any two activities i; and iz+, with p = 1,.. . , v - 1 are linked by an arc (i;,i%+,) with weight
Let Z' be the set of indices i with mi, = 1 (or equivalently, mi,, = 1). The . .,. ,a:) from ii to :i corresponds to the negative length of the longest path (i; sum of all values v(i) with i E Z'\ {i,) (due to their arc weights, the arcs which have been introduced for representing strict order + cannot belong to a longest path from i; to i:). Similarly, the length of the longest path (i;, . . . , i!) from i; to ilj equals the sum of all values s(i) with i E Z' \ (2,). Next, we add backward arcs (i:, 2;) and (i:, 2;) with weights
and
respectively. The length of cycles (i;, . . . , i:, i;) and (i;', . . . , i:, i';) equal M CiGrv(i) and s(i) - K,respectively (compare Fig. 2.15.2, where the shaded nodes correspond to activities executed in mode 1).
xi,,,
Figure 2.15.2: work N ( x )
Cycles (i;, . . . ,i:,i;)
and (i';,.. . ,ilj,i;) in project net-
Finally, the dummy nodes 0 and n + 1 are linked with the initial activities i; and i; and the terminal activities i: and i:, respectively. The
2.15. Multi-mode project scheduling problems
167
(EL:
corresponding arc weights are JOi: = v(i,), v(i,)), 6By = ( 0 ,O ) , bitr+l = (0, O ) T , and 6i:,n+1 = (O,O)T. There is a cycle of positive length in project network N ( x ) if M > CdEr~ ( ior) K < CiEI,s(i). AS a consequence, the constructed instance of MPSmltemplC,, (i.e. the respective problem without any renewable- or nonrenewable-resource constraints) possesses a time-feasible mode assignment if and only if there is a feasible loading Z' of the knapsack whose value is not less than M.
2.15.2
Solutionmethods
In principle, there are two different approaches to solving MPSltemplC,,: the sequential method and the integration method. The sequential method first solves the mode assignment problem by finding a feasible assignment x. Second, a feasible schedule with respect to x is computed by some algorithm for the single-mode problem PSltemplC,,. The tabu search algorithm of De Reyck and Herroelen (1999) is based on this sequential method. Despite its apparent simplicity, the sequential method suffers from the drawback that the mode assignment has to be determined before the activities are scheduled. Thus, the additional degree of freedom offered by the multiple execution modes cannot be exploited for speeding up the execution of activities or avoiding resource conflicts in the course of the solution procedure for PSI templC,,. The integration method performs mode selection and scheduling simultaneously. In the following, we discuss two integration procedures by Heilmann (2001, 2003), which are based on the enumeration scheme and on the serial generation scheme, respectively, for problem PSI templc,,. We first deal with the enumeration scheme. A simple consequence of Theorem 2.15.2 is that the resource relaxation of MPSltemplCm, (i.e. the problem which arises from (2.15.5) by deleting the resource constraints (2.15.2) and (2.15.4)) is NP-hard. Hence, to obtain a problem that can be solved efficiently, the mode assignment constraints (2.15.1) have to be relaxed as well. Therefore, we introduce partial mode assignments : with CmiEM, %mi 1 for all i E V. A partial assignment z' # z with z' 2 z is called an extension of .: Partial assignments z satisfying the mode assignment constraints (2.15.1) are called full mode assignments. The concepts of time- and resourcefeasibility for partial assignments are defined analogously to those for full assignments. A partial assignment c defines resource requirements, durations, and arc weights representing lower bounds on all requirements, durations, and arc weights belonging to full-assignment extensions x of 2. Let
<
Mi(:)
:=
Mi, if CrniE~, zim,= 0 { m i ) with zi,, = 1, otherwise
be the set of modes that can be selected for activity i in full-assignment extensions of 2. Simple lower bounds are obtained by taking the minimum
168
Ch. 2. Minimization of Project Duration
with respect to the eligible modes m; E M i ( z ) , that is, rrk(z)= r;,(z) =
rik
min
ri, (i E V, k E R P )
m.EM;(z)
min 6,j(:)
=
(i E V, k E R")
min
m,EMi(z)
pi,;
min
(i E V) min
6 m j m j ( ( i , j ) E E)
m,EM,(z) m, EM, (d
The single-mode project scheduling problem associated with partial assignment then reads Minimize S,+, subject t o r t ( S , t , a ) 5 Rk
Sj-s; ?&(z) st 2 0
so= 0
(k E R, 0 5 t E E) (2 E V)
5 z(z))
I
(2.15.6)
For the multi-mode project scheduling problem of Example 2.15.1, Fig. 2.15.3 shows the single-mode project network N(z) that belongs to the empty assignment g, that is, no execution mode is selected for any activity.
Figure 2.15.3: Single-mode project network N(z) associated with empty assignment = 0 and one renewable resource The set of schedules which are time-feasible (or feasible) with respect t o partial assignment z is denoted by ST(z)(or S ( z ) , respectively). S(z)corresponds t o the feasible region of the single-mode project scheduling problem (2.15.6). Obviously, (2.15.6) is a relaxation of all single-mode project scheduling problems belonging t o extensions ': of g,that is,
This observation is the starting point for an enumeration scheme for solving problem MPSltemplC,,. Let 0 be some strict order in node set V, and let S ~ ( 0 , g:= ) {S E ST(^) I S3- Si 2 pi(a) for all (i, j ) E 0 ) be the order polyhedron belonging to 0 and partial assignment a. The algorithm starts
2.15. Multi-mode project scheduling problems
169
with the empty assignment a = 0. For the corresponding problem (2.15.6), schedules are enumerated as minimal points of appropriate order polyhedra ST(O,g),see Algorithm 2.5.8. Each time a schedule S = minST(0,g) feasible with respect to has been obtained, the execution mode of some activity i with CnaiEM, zim, = 0 is fixed such that the resulting partial assignment z' is still feasible (if there is no mode mi E Mi such that ;c' is feasible, we perform backtracking). Due to S(&) S ( z ) , S may be not feasible with respect to partial assignment .:' In that case, the enumeration of schedules is resumed by augmenting the current strict order 0 until a schedule S which is feasible with respect to g' has been found. These steps are reiterated until a feasible full assignment x has been reached or there is no feasible extension of the current partial assignment 2.Algorithm 2.15.4 gives the details of this procedure, where R denotes the current set of order-assignment pairs ( 0 , z ) and I? is the set of all feasible solutions (S,): generated. f
(2.15.4) Algorithm: Enumeration scheme for MPSltemplC,,.
Initialize set of order-assignment pairs 0 := ((0,O)) and set of candidate schedule-assignment pairs I? := 0 Repeat Remove an order-assignment pair ( 0 , g) from set R Determine schedule S = min ST(O,g) If S is resource-feasible with respect to t h e n If z is a full assignment t h e n r := I? U{(S, g)) (* (S,c) is feasible solution a ) Else (* extend a *) Determine some activity i E V with gim, = 0 for all mi E Mi For all mi E M id o := 1 Set 2 := z , dm. If assignment zfis feasible t h e n R := R U ( ( 0 , i ) ) End (* for *) E n d (* if *) Else (* augment order 0 *) Determine a point in time t such that A(S, t , z ) is forbidden Set r i k := rfk(z) for all i E A(S, t,g) and all k E RP Compute set L?' of all minimal delaying alternatives B for A(S, t , ~ ) , that is, d o B := 0, MinimalDelayingAltematives(A(S, t , z ) , 0, B)
170
Ch. 2. Minimization of Project Duration
For all B E B d o For all i E A(S, t , x) \ B d o Introduce precedence relationships between i and all activities j E B, that is, put 0' := t r ( 0 u {(i, j) I j E B}) If s ~ ( O ' , a # ) 0 t h e n R := R U {(O1,z)) E n d (*for *) E n d (*for t ) E n d (*if *) Until R = fl Return F Analogously to the proof of Proposition 2.5.9 it can be shown that the enumeration scheme of Algorithm 2.15.4 yields an optimal solution (S, x) to MPSltemplC,, after a finite number of steps if the problem is solvable. A branch-and-bound algorithm based on the enumeration scheme of Algorithm 2.15.4 can be found in Heilmann (2003). An u p p e r b o u n d on the minimum project duration is given by d := max max(pi,,, max max 6imijmj) iev m;EM, ( i , j ) E Em,EM,
C
Preprocessing is performed by applying Algorithm 2.5.12 t o the singlemode project scheduling problem corresponding t o the empty assignment x = 0 with longest path lengths c&~.The effectiveness of this procedure is increased by eliminating execution modes mi from mode set Mi if there is no resource-feasible mode assignment x for which activity i is executed in mode mi. This is true if
holds for some nonrenewable resource k. Note that inequality (2.15.7) is a sufficient condition on the nonexistence of resource-feasible mode assignments x with xirni= 1 that is generally not necessary. That is why similarly to Algorithm 2.5.12, the preprocessing conditions (2.15.7) have t o be reexamined within several (at most IMil) preprocessing iterations until no further mode mi can be eliminated (cf. Heilmann, 2000, Sect. 4.1). If during preprocessing, the mode set Mi of some activity i becomes void, there does not exist any feasible mode assignment and thus the problem under study has been shown t o be unsolvable. In principle, lower b o u n d s for MPSl templC,, can be obtained by again using lower bounds for the singlemode project scheduling problem. The quality of those lower bounds for the multi-mode case is generally poor because the single-mode problem belonging t o the empty assignment does not
xi,"
2.15. Multi-mode project scheduling problems
171
take into account that mode-dependent resource requirements and time lags cannot be chosen independently of one another. Heilmann (2000, Sect. 3.2) has proposed the following disjunctive lower b o u n d , which is based on the resource relaxation of MPSltemplC,,. Let E S T and LS? be a lower bound and an upper bound, respectively, on the start time of activity i E V if i is executed in mode mi E Mi. Since each direct predecessor h of i in temporal scheduling network Nt must be executed in some mode mh E Mh,it holds that
ESF
2 mhEMh min ( E S r h+ bhmhimi) ( h E Pred(i))
In analogy to disjunctive precedence constraints (cf. Subsection 2.5.6), inequalities (2.15.8) can be regarded as disjunctive temporal constraints between sets {(h, mh) I mh E Mh) and set {(i,mi)). Beginning with the earliest start times that arise from temporal scheduling in project network N ( z ) with c = 0, the minimum values ES? satisfying (2.15.8) and E S P = 0 can be computed by a label-correcting algorithm. Conversely, for upper bound LS,"', we have the necessary conditions
values LS? for which inequalities (2.15.9) and equation The maximum LS;";:' = d hold true can again be determined by a label-correcting algorithm. In contrast to the latest start time LSo = 0, the upper bound LS? on the project start time is generally positive. Both time lags EST";:' - E S T = ES,";:' and LC;:' - LS? between project beginning and project termination represent a lower bound on the minimum project duration Note that the two time lags do not necessarily coincide. In the following, we discuss an adaptation of the destructive columngeneration lower b o u n d for PSltemplC,, (see Subsection 2.5.8) to problem MPSltemplC,, by Brucker and Knust (2003). As a rule, this lower bound provides tighter approximations to the minimum project duration of multi-mode projects. However, the latter lower bound requires more computation time than the former ones. We consider one iteration of the binary search, say, for hypothetical upper bound d. Let 0 = ro < r1 < . . . < T, = LS;";:' = d be the ordered sequence of the lower start time bounds E S F and upper completion time bounds LS,"' ptm, for all activities i E V. To each index X = 1 , . . . , p, we associate a set
+
C, := {(i,mi) I i E V , mi E M,, ES3? < T A , LSF +pi,, > T A - 1 , and ES?
I LS?)
of activity-mode combinations ( 2 , mi) for which activity i can be (partially) executed in time interval [ T ~ -T,[. ~ , Note that activity-mode combinations
172
Ch. 2. Minimization of Project Duration
(i,mi) with ES? > L p can be disregarded because there is no timefeasible mode assignment x with ximi = 1. Let C' & Cx be a set of activitymode combinations, and let V' := {i E V I (i, mi)€ C' for some mi 6 Mi) denote the corresponding set of activities. C' is called executable if first, V' is not forbidden, second, all activities i from V' have a unique execution mode in C' (i.e., I{mi E Mi I (&mi) E C')I = 1 for all i E V'), third, all activities from V' can overlap in time (i.e., dij < pimifor all i, j E V' in network N ( e ) with a = O), and fourth, there may be a resource-feasible ribmi + mode assignment x with xi,, = 1 for all (i,mi) E C' (i.e., C(i,m,)ECt minmjEMjr j k m j 5 Rk for all k E RV). For given index A, the executable subsets C' of Cx are numbered from dMxl to AMxu,. Similarly to the singlemode case, a preemptive relaxation of the project scheduling problem MPSltemp(Cm, can be formulated as follows: Determine the length of time yxp 2 0 for each executable set A M x psuch that
z3EV\V'
(i) each real activity i = I , .. . , n is executed in one mode mi E Mi, (ii) the corresponding mode assignment x is resource-feasible, (iii) each real activity i = 1, . . . , n is carried out for pi,, time units in the selected mode mi E Mi, (iv) for each X = 1,.. . , p, the total execution time of all associated executable sets JIMxpis not greater than the interval length - ?A-1, and (v) the project duration is minimized. 1, if (i,mi) E AMxp (i = 1,. , . , n ) 0, otherwise the corresponding feasibility problem can be formulated as a mixed-binary linear program with artificial penalty variables s; and sx for the constraints representing conditions (ii) and (iv), respectively:
a,;
:=
z+ B
Minimize
sx
s',
X=l
kERY
subject to
=1
xi,, mi EM;
,,
i=l miEM.
x B
rikmiXimi
- S; 5 Rk (k
RV)
OA
XP
X=l p=l
aimiYxp- pirniximi
0 (i = I, . . . , n)
UA
C p=
YAP - SA
I TX
- ?A-1
(X=l, ...,p)
1
YXp
L0
xim; E {O,l) SX L 0 s; 2 0
( X = l , ...,p , p = l , ..., a x ) ( i = l , ...,n, mi E M i ) (X=l, ...,p) (k E R Y )
.
2.15. Multi-mode project scheduling problems
173
The continuous relaxation of problem (2.15.10) can again be solved efficiently by column generation techniques (cf. Subsection 2.5.8). During a first phase of the procedure, either a (fractional) resource-feasible mode assignment x is computed or it is shown that no such mode assignment exists. In the former case, all variables s', could be decreased to zero, and the algorithm proceeds with the second phase in which variables sx are eliminated. In all iterations of the column-generation algorithm, linear programs for a reduced working set of decision variables are solved and new improving decision variables are calculated by a branch-and-bound procedure. MPSltemplC,, can also be solved (approximately) by using a generalization of the serial generation scheme for the single-mode problem (see Subsection 2.6.4, in particular, Algorithm 2.6.4). In each iteration, an eligible activity j*is selected, an execution mode mj. E My is fixed (i.e., the current partial assignment g is extended), and the start time of j*is determined. If the extended partial assignment x is not feasible or if no feasible start time for activity j* can be found, mode m;. is deleted and another mode is selected. If none of the modes my E M,. permits the scheduling of activity jiat a feasible start time, procedure Unschedule is called. Let Mi. 2 My(:) denote the current mode set for activity j*. The activity j*to be scheduled next is chosen according to an activity priority a". In addition to the priority rules discussed in Subsection 2.6.3 (with ?ra instead of n), the following rule can be used for activity selection (cf. Kolisch, 1995, Sect. 6.2):
GRC rule ("greatest resource consumption" first): ext nu(h) = max min L EE
hEE
C
m h ~ G ~h E
R YRk
rhkmh
- ';(z)
The GRC rule selects an eligible activity for which the lowest resource consumption (in terms of the residual resource availabilities R k - r;(x)) is greatest. The basic idea is that "expensive" activities should be scheduled early in the course of the algorithm such that there is a large probability that the "cheapest" execution mode can be selected because it leads t o a feasible start time for activity j'. Heilmann (2003) has proposed three diierent mode selection rules based on mode priorities T':
SPT rule ("shortest processing time"):
ext_ n"(rnj.) = rnj.EM,r
M A W rule ("minimum arc weight"):
M R C rule ("minimum resource consumption"):
mi& pymj, mj. EMj+
174
Ch. 2. Minimization of Project Duration
The SPT and MAW rules aim at a small project duration. The MAW rule is also well-suited for generating timefeasible mode assignments. Similarly to its activity selection analogue GRC, the MRC rule is designed for maximizing the probability of finding a resourcefeasible mode assignment. In general, the strict order 4 in set V defining the set & of eligible activities (cf. Subsection 2.6.3) depends on the current partial assignment g. For what follows, we assume that <(a)is increasing in g, that is, for c' g, i +(z) j implies i +(gt) j. This assumption ensures that eligible activities remain eligible when the partial assignment g is extended. The &stance order + D (cf. Definition 1.4.3) satisfies this condition. Algorithms 2.15.5 and 2.15.6 show the serial generation scheme and the unscheduling procedure, respectively, for solving problem MPSl templC,,,,. Since each time an execution mode is fixed the project network N ( g ) is modified, the distances dij(a) must be recalculated in each iteration and after each unscheduling step (for unscheduled activities, the mode selection is cancelled). The distances dij(a) refer to the current upper bound a(g) := C i c mKCEMI, ~ max(~im,,m a ( i , j ) €maXmjczj ~ dimijm,). thin is the earliest of all tentative start times t* for carrying out activity j*.If j* cannot be scheduled, LSj* - tki, is the minimum delay of the activities i E U to be unscheduled. In case of tk,, = m, there does not exist any feasible extension of the current partial assignment g, and the algorithm terminates.
>
(2.15.5) Algorithm: Serial generation scheme for MPSl templC,,.
so:= 0, C := {O), u := 0, g := 0 For all i E V d o Mi := Mi While C # V d o E(c) := {j E V \ C I ~ r e d < ( d ( jC) C) For all j E &(g) compute ?ra(j) j*:= min{j E I ( z ) ( xu(j) = exthcs(,) ~ " ( h ) } t*mm . '.= While j* 4 C a n d
fi,. # 0 d o
For all mj. E fij.compute x"(mj.) m;. := minimj. E Mj* 1 ?r"(mj.) = e ~ t ~ , ,n@(m;.)) ~ ,
.- 1, Gj. := Mi.\ {mj, }
Qm;, .-
If z is feasible t h e n t* := min{t 2 ESj. I r k ( S C , ~ ,+ c )rpkm;, 5 Rk for ST< t+pj,,;. andall k ~ 7 2 P ) tii, := min(thi,, t*) Else t* := co E n d (*if *)
2.15. Multi-mode project scheduling problems
175
If t* 5 LS,. then (*schedule j* at time t* *) Sj. := t*, C := C U{j*) For all j E V \ C do (* update ESj and LSj *) Compute distances dij(:) for all i, j E V ESj := max(ESj, S,. + dj.j(g)) LSj := min(LSj, Sj- - djj. (g)) End (*for *) Else gj.,;* := 0 End (* if *) End (*while *) If j* I$ C then u := u 1 and Unschedzale(j*, tki, - LSp) End (*while *)
+
s := sC Return (S, z )
0
(2.15.6) Algorithm: Unschedule(j*, A).
U := {i E C I LSY = Si - dpi) If 0 EU or A = CXJ or u > n then terminate (* no feasible solution is found *) Step 1 (* right-shift of activities i E U *) For all i E U do ES, := S, + A, C := C \ {a), 3,: := 0, Mi := Mi If ES, > -d&) then terminate (*no feasible solution is found *) End (*for *) Step 2 (* unschedule all activities i with S, > minhCuSh*) For all i E C with S, > minhcu Shdo C := C \ {i), ghmE := 0, Mh:= Mh Step 3 (*compute ES, and LSi for all j E V \ C again *) Compute distances dij(g) for all i, j E V For all j E V \ C do ESj := maddo,, maxh~u(ESh+ d h j ( ~ ) ) ] LS, := -d&) For all i E C do ESj := max(ESj, S, dij(g)) LS, := min(LSj, Si - dji(z)) End (*for *) End (*for *)
+
Based on the serial generation scheme, Heilmann (2001) has proposed a multi-pass priority-mle method, where within an imposed time limit several
176
Ch. 2. Minimization of Project Duration
different schedules are generated. To this end, the (deterministic) activity priorities .rr" and mode priorities T' are used for a roulette-based selection strategy (cf. Subsection 2.7.1). After each pass, the upper bound for calculating latest start times is set t o be equal t o the project duration of the best schedule found thus far. Heilmann (2001, 2003) has reported on an experimental performance analysis that compares the branch-and-bound algorithm and multi-pass priority-rule method with a recoded version of the tabu search procedure by De Reyck and Herroelen (1999). In this performance analysis, the test set used consists of 1080 projects with 10, 30, 50, and 100 activities. Each activity can be performed in three, four, or five alternative modes. There are three renewable and three nonrenewable resources whose resource strength (see Subsection 2.8.1) varies in set {0.25,0.5,0.75). For each combination of number of activities, number of modes per activity, renewable resource strength, and nonrenewable resource strength, ten projects have been generated using ProGen/max. The tests have been performed on a PI1 personal computer with 333 MHz clock pulse operating under Windows NT 4.0. Table 2.15.2 shows the performance of De Reyck's tabu search method and Heilmann's branch-and-bound procedure for the 810 projects with no more than 50 activities and a running time limit of 15 seconds. pf,,, again denotes the percentage of projects for which the respective methods could find a feasible solution. dewLB is the mean deviation of the project duration found from lower bound (for n = 10, where all instances can be solved to optimality, we use the minimum project duration as lower bound; for the remaining instances, devLB refers to the column-generation lower bound). The branch-and-bound procedure finds more and markedly better feasible solutions than the tabu search algorithm (all but one of the 810 problem instances can be solved t o feasibility by the branch-and-bound procedure).
Table 2.15.2: Comparison of tabu search method and branch-and-bound procedure - L'small"instances with n 5 50 Tabu search Branch-and-bound 99.88% Pfeas 95.06% 13.84% devr.a 27.93% For the large projects with 100 activities, the multi-pass priority-rule method is more expedient than the branch-and-bound algorithm. Recall that we have made a similar observation for the single-mode case (see Subsection 2.8.2). Therefore, the tabu search procedure is compared to the multi-pass priority rule method. Table 2.15.3 shows the performance of both algorithms, where the imposed limit on the computation time is 30 seconds. In contrast to the case of small projects, the tabu search procedure now performs quite poorly. Whereas the priority rule method is able to find a feasible solution for all projects, almost two thirds of the instances are not
2.16. Application t o batch production in process industries
177
solved t o feasibility by the tabu search algorithm. This is presumably due to the small number of mode assignments investigated (recall that for every mode assignment, the corresponding single-mode problem is tackled by a branch-and-bound procedure). The large deviations from the lower bound for both procedures may be seen as evidence of the exceptional hardness of multi-mode project scheduling problems.
Table 2.15.3: Comparison of tabu search method and multi-pass priorityrule method "large" instances with n = 100 -
Tabu search Priority rule method Pfeos ~ ~ V L B
2.16
35.19% 284.07%
100.00% 180.05%
Application to batch production in process industries
In this section, we are going to use the concepts and results from Sections 2.11 to 2.15 for solving scheduling problems occurring in process industries (e.g. chemical, pharmaceutical, food, or paper industries). In process industries, final products generally result from several successive chemical or physical transformations (called tasks) of bulk goods or liquids. We assume that the production is performed in batch mode, that is, the input of a task is consumed at its start and the output is available at its completion. In general, the production is organized according to batch mode if there is a discontinuous material flow and small amounts of a larger number of final products are required (whereas the continuous production mode, which is characterized by a continuous flow of material, is typical of basic materials industry such as oil or dyestuff industries). The combination of a task and the corresponding quantity produced is called a batch. The processing of a batch is referred to as an operation. A task may be performed more than once, resulting in several corresponding operations. For batch production in process industries it is typical that the processing times of operations are independent of the respective batch sizes (in contrast to manufacturing industry discussed in Section 2.9). In practice, the batch sizes belonging t o the individual operations are often predetermined by technology, regulations, or as output at a higher planning level. Given the primary requirements for the final products within some planning horizon, the batching problem of finding a set of batches or operations that minimizes the workload subject to inventory balance and storage capacity constraints can be formulated as a mixed-integer program (cf. Neumann et al., 2001, 2002a, and Subsection 2.16.2).
178
Ch. 2. Minimization of Project Duration
The batch scheduling problem consists of allocating scarce resources over time to a given set of operations such that the processing of all batches is completed in a minimum amount of time, i.e., the makespan is minimized. The makespan objective is particularly important in batch production, where different products are processed on multi-purpose equipment and the production plant is configured according to the required final products. Before processing the next set of final products, the plant has to be rearranged, which requires the completion of all operations. In batch scheduling, a variety of technological and organizational constraints have to be taken into account. Certain intermediate products are perishable and thus cannot be stored. A task generally requires different types of resources: manpower, processing units with sequence-dependent cleaning times (e.g. reactors, heaters, or filters), and storage facilities (e.g. tanks or silos). These resources are available only in limited capacity, and the manpower is not necessarily constant over time. Certain tasks can be executed on alternative processing units that possibly differ in speed or cleaning times. Several identical processing units may form a larger multi-processing system like a multi-chambered autoclave or a kiln with multiple trays whose units can only be run jointly. Break calendars specify time intervals during which specific tasks cannot be processed. Tasks that can be interrupted (e.g. packaging) have to be resumed immediately after break. Some tasks (e.g. chemical reactions) cannot be interrupted a t all. There is an extensive literature dealing with short-term planning in process industries. Most of the solution approaches discussed are based on mixed-integer programming formulations, 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 refer to Blomer (1999, Sect. 4.2) and Schwindt and Trautmann (2000). Grunow et al. (2002) and Timpe (2002) have used hybrid techniques involving mixed-integer and constraint programming. The special feature of the approach by Neumann et al. (2001, 20024, which is discussed in what follows, is the (heuristic) decomposition of short-term planning into a batching and a batch scheduling problem as well as the integration of all batch scheduling constraints into the framework of resource-constrained project scheduling (cf. Fig. 2.16.1). This approach permits the efficient modelling and (approximate) solution of large-scale problems. A similar technique has been used by Brucker and Hurink (2000) for solving a related short-term planning problem without manpower and storage capacity restrictions and where the sum of production and changeover costs has to be minimized. In Subsection 2.16.1, we illustrate the short-term production planning problem using a case study by Westenberger and Kallrath (1995). Subsection 2.16.2 proposes a nonlinear mixed-integer formulation of the batching problem, which will be transformed into a linear mixed-integer program. In Subsection 2.16.3, we present a resource-constrained project scheduling model for the batch scheduling problem including the constraints referring
2.16. Application to batch production in process industries
Tasks and primary requirem.
Botching
Batches Modelling and operations
project activities
-Batch scheduling
179
and mode assignment
Figure 2.16.1: Short-term planning in process industries
to calendars, renewable, cumulative, and synchronizing resources, as well as multiple execution modes. Subsection 2.16.4 sketches a solution procedure for the batch scheduling problem using the results from Sections 2.11 to 2.15 as building blocks.
2.16.1
Case study
Westenberger and Kallrath (1995) have discussed a case study (also called WK case study in the following subsections) that covers most of the features occurring in batch production planning in process industries and is briefly sketched in this subsection. Figure 2.16.2 illustrates the process flow through a fictitious production plant. The production process is composed of six stages transforming the raw material PIinto five final products Pi5 to Pig. There are fifteen storage facilities for the storable products PI t o P5, P7 to Pg, Pl2,and P14to P19and nine multi-purpose processing units Ulto U9, which can operate several kinds of tasks (but only one at a time each). The processing units are labelled with the tasks executed on them.
Storage facility stocking product P Processing unit U
7
Figure 2.16.2: Process flow chart
The short-term planning has to be performed for a planning horizon of one week. The primary requirements for the final products PISto P19within the planning horizon are given by the demand vector (30,30,40,20,40). Those primary requirements have to be converted into batches (hatching
Ch. 2. Minimization o f Project Duration
180
problem) and the corresponding operations must be scheduled on the processing units subject to inventory constraints (batch scheduling problem). For each task, a lower and an upper bound on the corresponding batch sizes are prescribed (cf. Table 2.16.1).
Table 2.16.1: Task settings Task Batch size Alternative Process. times Products Products [hours] consumed produced [min, max] process. units 1 2
At some production levels, alternative processing units are available for carrying out operations, e.g. Usand U7.Alternative processing units need not be identical, that is, the processing time of an operation may depend on the processing unit used (cf. Usand Usin Table 2.16.1). Recall that all processing times are indeuendent of the resuective batch size. Each o~erationuses onlv one processing unit. To guarantee purity of products, a processing unit has to be cleaned after the com~letionof an o~erationif the subsequent task has a larger number, where we assume that the tasks are numbered according to increasing quality of output products. In addition, each processing unit has to be cleaned after the last operation. The cleaning time is assumed to be half as large as the processing time of the preceding operation. Each task consumes and produces materials. Table 2.16.1 lists the input and output products of each task. Tasks 2 and 3 produce two output products each, and task 15 consumes two input products. The output proportions of task 2 are flexible, that is, 100 a% of the total output are allotted t o product P3and the remaining part to product P4,where a can vary between 0.2 and 0.7. 30% of the output of task 3 is recycled as product P2.For task 15, the mixing ratio for input products P6 and PlZis one t o one.
2.16. Application to batch production in process industries
181
Intermediate products PC,PlO,PI,, and PI1 are perishable and cannot be stored. We assume that sufficient capacity is available to store the required amount of raw material Pl and final products P15 to Pig. Also, there is a sufficient initial stock of PI available and there is no initial stock of P15 to Plg. Table 2.16.2 shows the initial and maximum inventories for the intermediate products stocked. Each task depletes and replenishes inventories. Depletion occurs a t the start, and replenishment occurs a t the completion of an operation. The safety stocks are assumed to equal zero. Precedence relationships between operations at consecutive production levels are taken into account by the constraints on the minimum inventories of input products. If for an intermediate product, the inventory is less than the requirement of a consuming operation, this operation has to wait for the completion of (at least) one producing operation at the preceding production level. This approach offers more flexibility compared to the (ex ante) linking of producing and consuming operations by temporal constraints. Recall that in Section 2.9, we have modelled such a linking by an assignment sequence problem.
In addition to the features considered by Westenberger and Kallrath (1995), we assume that processing units Us and U7are combined in a multiprocessing system. Thus, Usand U7 are run jointly, which implies that due to differing processing times, task 10 cannot be executed in parallel with tasks 11 or 12. Moreover, we suppose that workers are needed for processing tasks. Tasks 1 to 12 require one and tasks 13 to 17 require two workers each. Each worker can carry out every task. The workers operate in two day shifts and one night shift. The shiis differ in the number of available workers (cf. Table 2.16.3). The planning period starts on a Monday at 6:00 a.m., and the time unit is one hour.
Table 2.16.3: Number of workers available in each shift [6 a.m., 2 p.m.[
Mon 8
Tue Wed Thu 8 8 8
Fri Sat Sun 8 4 4
The sixth hour of each day shift represents a break for meals (i.e. the time intervals [ll a.m., 12 a.m.[ and [7 p.m., 8 p.m.[). During a break, the final tasks 13 to 17 cannot be processed because they require permanent supervision. The remaining tasks can be carried out independently of breaks.
182
Gh.2. Minimization of Project Duration
Tasks 13 and 14 may be interrupted by production breaks, whereas tasks 15, 16, and 17 must be processed without any interruption. We assume that material is left on the processing units during a break and that no cleaning is needed before resuming the interrupted operation. This implies in particular that an operation must not be interrupted to start or proceed with another one.
2.16.2
Batching problem
In this subsection, we closely follow Neumann et al. (2002a). Eatching deals with converting the primary requirements for products into sets of batches for each task. The goal is to minimize the workload to be scheduled. Constraints result from given bounds on batch sizes and the number of task executions and from limited storage capacities. First, we present a nonlinear mixed-integer formulation of the batching problem. Second, we transform that nonlinear program into a linear mixed-binary program of polynomially related size. For basic concepts from material requirements planning (e.g. product structure or primary and secondary requirements), we refer to Section 2.9. Let 7 be the set of all tasks and let 8, be the batch size and E, be the number of batches for task T E 7executed within the given planning interval [O,q for short-term batch production planning. Thus, P,E, is the amount produced by task T . Prescribed minimum and maximum batch sizes and p,, respectively, for task T provide the constraints
eT
Let U, be the set of alternative processing units on which task T can be carried out and pTk be the processing time of task T on processing unit k E U,. Then z7 := C k e U , l f i T kisj an upper bound on the number of executions of task T , and we have the constraints
A task may have several input and output products, e.g. task 2 in the WK case study. For task T E 7 , let a,, > 0 be the proportion of output product n and -a,, > 0 be the proportion of input product n. If T is neither input nor output product of task T ,we set a,, := 0. Obviously,
C REP:
a,, = -
x
a,, = 1
(T
E7)
(2.16.3)
W~PF
where P,+and P; are the sets of output and input products, respectively, of task T . Let a,, and B,, be given lower and upper bounds on a,,. Then
183
2.16. Application to batch production in process industries
where P, := P,+U P; is the set of products which are either input or output of task r. If a,, is fixed, we have g7, = GT,. Next, we consider inventory constraints. For a product x E P,, a,,P,e, or -~,,P,E, is the total amount of x produced or consumed, respectively, by task r. Let p, be the given primary requirement minus the initial stock for product x . Consider a recycled product n which belongs t o a cycle in the product structure and is the output product of a task r inside the cycle and of a different task T' outside the cycle, e.g. product P2in the WK case study (see Figure 2.16.2). In that case the amount of product n recycled after the last execution of task T necessarily remains on stock because it is not consumed. To guarantee that a sufficient quantity of product x is available as input of consuming tasks f' E 7,-, p, has to be enlarged by the residual stock of x . To meet all primary requirements, it then has t o hold that
where 7, is the set of tasks producing or consuming product n and P = UrETPris the set of all products. CTET- aTrPT~, - p, is the final inventory of product n after satisfying the primary and secondary requirements. This final inventory must not exceed the given capacity u, of the storage facility for T . That is, a T n b ~ T I PB +or (H E p ) (2.16.6)
x
TET-
If product a cannot be stored, then u, := 0. The last constraints refer t o perishable products, which cannot be stored. Let K+ and 7;; be the sets of tasks producing and consuming, respectively, product x . We assume that for a perishable product a,the amount produced by a batch of a task T E 7,+must equal the amount consumed by a batch of any task T' E 7,-,that is,
where PP is the set of perishable products. The reason why we restrict ourselves to the one-to-one correspondence (2.16.7) between tasks r € and r' E 7,+is that otherwise, the completion of several batches producing n and the start of several batches consuming a would have t o occur simultaneously. The latter requirement would considerably reduce the set of feasible solutions t o the corresponding batch scheduling problem. Moreover, in practice the implementation of schedules where several operations must be completed simultaneously is generally impossible because already small differences between predicted and realized processing times lead to infeasibility. Let pT := Ck,u,prk/)UTl be the mean processing time of task T on any of the alternative processing units. To minimize the workload, the objective function to be minimized is chosen to be the total mean processing time CrETpTe, (recall that the processing time of a batch is independent of the batch size). The batching problem then takes the form
x+
184
Ch. 2. Minimization of Project Duration
p,aT rET subject to (2.16.1) to (2.16.7)
Minimize
(2.16.8) represents a nonlinear mixed-integer program with the integral decision variables E, and the continuous decision variables P, and a,, (T E 7 , a E 7,).In Neumann et al. (2002a) it is proved that problem (2.16.8) is NPhard. It can easily be shown that the feasible region of the continuous relaxation of problem (2.16.8) is generally nonconvex. Thus, the computation of an optimal solution to (2.16.8) is not only intractable from the complexity point of view but even worse, it poses a serious algorithmic problem. Thus in what follows, we develop a formulation of the batching problem as an equivalent linear mixed-binary program. The number of binary variables in the latter problem equals the upper bound C T e T 2 , on the number of batches which can be carried out within the planning horizon. To obtain an equivalent linear formulation of (2.16.8), we first introduce the continuous variables
representing the negative amount of product a consumed or the amount of product s produced, respectively, by a batch of task T . Since the batch size of a task equals the sum of all input quantities, we have
Thus, the lower and upper bound constraints (2.16.4)on proportions a,, can be written as
The equations
C
=
tTTl
-
C
tr,
(T
E 7)
correspond to the mass balance constraints (2.16.3),and the batch size constraints (2.16.1) now read
Similarly, the batch size coupling conditions (2.16.7) for perishable products can be formulated as
2.16. Application to batch production in process industries
185
In order t o eliminate the nonlinear term a,,P,e, = Gr.cT occurring in the inventory constraints (2.16.5) and (2.16.6), we replace <,,E, with the sum of E, continuous variables ,,< ! ( p = 1,.. . , r,), where
The number E, of batches for task T is represented by the sum of cT binary variables 0! ( p = 1 , . . . ,zT),which equal one exactly if p I E,, that is, if EZE7> 0 0, otherwise 1 3
The l i k i n g between variables 0):
0, then <& -",TTpT8$
implies OF > 0. For
0 exactly if
Or
<
Constraints (2.16.14) show the analogous conditions for tasks products x (i.e., tTr< 0):
T
and input
The linear ordering
of the binary variables Of associated with one and the same task T ensures that precisely the first E, binary variables B,: . . . ,OF equal one. The latter condition is not necessary for reducing the nonlinear mixed-integer program (2.16.8) to a linear mixed-binary program. However, it reduces the size of the feasible region considerably without loss of generality. Now we are ready t o formulate the inventory constraints (2.16.5) and (2.16.6) as linear inequalities:
186
Ch. 2. Minimization of Project Duration
The mixed-binary programming formulation of the batching problem is then as follows: -E v Minimize p, i,0; re7 /r=l (2.16.17) subject to (2.16.9) to (2.16.16) ( ~ € 7 p, = l , . . . , & ) 0,. E tO,l)
1
(2.16.17) represents a linear mixed-binary program with continuous decision variables tr, (T E 7, n E P r ) , cFT (T E 7,n E Prrp = I , . . . ,zr), and binary decision variables 8; ( T E 7 , p = 1,.. . ,z,). The batching problem (2.16.17) belonging to the WK case study with 876 continuous and 768 binary variables has been solved to optimality within 37 seconds using CPLEX 7.0 on an 800 MHz Pentium personal computer. The corresponding optimal solution provides the 76 batches given in Table 2.16.4 and the output proportion ar = 0.3506 of product P3 for task 2. Table 2.16.4: Batchiig solution Task 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Batch size 10 19.25 10 5 10 10 10 10 10 6.67 6.67 6.67 10 10 10 6.67 10 #batches11 8104 2 2 4 3 3 3 3 6 3 3 4 3 4
2.16.3
Project scheduling model for batch scheduling
Recall that the number of operations equals CrE7E , and the set of operations is UTE7V,,where 7 is the set of all tasks and V, with IV,I = E , is the set of all operations or batches of task T. In the WK case study, we assume that the operations are numbered consecutively from 1 to 76 according to increasing task numbers. In this subsection, we model the resulting batch scheduling problem as a resource-constrained project scheduling problem. The batch scheduling problem consists of assigning a processing unit and a start time to each operation such that (i) the makespan is minimized, (ii) the workers can operate all processing units loaded,
(iii) operations requiring permanent supervision are not processed during a break, (iv) each processing unit performs at most one operation a t a time, (v) no processing unit carries out an operation during a cleaning time, (vi) all operations executed jointly on a multi-processing system are started and completed each at the same time, (vii) each operation which can be executed on alternative nonidentical prcessing units is assigned to exactly one of them,
2.16. Application to batch production in process industries
187
(viii) a sufficient amount of each input product is available a t the start of an operation, (ix) there is enough storage space available for the intermediate products to be stored, and (x) the perishable output products are consumed immediately. Analogously to the case of make-to-order production dealt with in Section 2.9, the execution of all operations can be viewed as a project, where the makespan to be minimized corresponds to the project duration. For each operation, we introduce one real activity a. The activity durations are equal to the processing times of the corresponding tasks. Each operation requires workers and needs processing units and storage facilities. The workers form a manpower pool, which is modelled as a renewable resource k E RP. The capacity Rh of resource k equals the maximum number of workers available at some point in time t 1 0. The requirement r i k of an activity i E V for resource k coincides with the number of workers required for carrying out a. To take into account the reduced size of work force during night shifts and weekends, we proceed as follows (cf. Bartusch et al., 1988). Let ak(t) denote the number of workers of resource (or pool) k available a t time t 3 0. Function a k is piecewise constant, continuous from the right, and has a finite number v of jump discontinuities, say, at times t = tl,. . ., t,. Moreover, we set to := 0. Adjacent time intervals [t,-l, t,[ and [t,, t,+l[ differ in the available capacity of manpower pool k. This is modelled by auxiliary activities with fixed start times. For each interval [tOwl,t,[ with ak(t,-l) < R k rwe introduce an auxiliary activity j with duration pj := t, - t,-l and resource requirement r j k := maxttoak(t) - ak(t,-l) = Rk - ak(t,-,). Moreover, we put Sj := t,-l by defining time lags d;r;"" := := t,-l. In the WK case study from Subsection 2.16.1, the manpower pool is represented by a renewable resource k with capacity Rk = 8. Table 2.16.5 shows the data for the five dummy activities i needed (recall that the planning period starts on Monday at 600 a.m., the time unit is one hour, and the planning horizon is one week).
Table 2.16.5: Auxiliary activities j
In the WK case study from Subsection 2.16.1, certain operations cannot be in progress during breaks. We model breaks by introducing an activity calendar bi for each activity i (cf. Section 2.11). If operation i cannot be processed during a break, the value bi(t) for some t 2 0 equals zero exactly if
188
Ch. 2. Minimization of Project Duration
time t falls into a production break. For the remaining activities i, we have bi(t) = 1 for all t 2 0. Next, we turn t o processing units. In analogy t o workers, we combine identical processing units t o form a pool. Each pool is modelled as a renewable resource k E RP with sequencedependent changeover times 19;. Processing units are identical if they can operate the same tasks with the same processing and cleaning times (such as Ua and U7). The requirement r i k of activity i for resource k equals one if operation i is carried out on a processing unit of pool k, and zero otherwise. The resource capacity R k is equal t o the number of processing units in the corresponding pool. The cleaning times between consecutive operations on a processing unit can be modelled by introducing sequence-dependent changeover times between the activities (cf. Section 2.14). The changeover time 6fj between two activities i and j on resource k equals the cleaning time after operation i if j produces a higher-quality output product than i. Otherwise, cleaning of resource k is not necessary and 29: equals zero. Since the processing units have to be cleaned after the processing of the last operation, the minimum time lag between the start of a real activity and the project termination equals the sum of the respective processing and cleaning time. When checking the changeover-feasibility of some schedule S, the lower capacities of all arcs in the flow network equal zero or one because r i k = I holds for all activities i requiring resource k. Hence, the corresponding minimum flow problem ) I ) by augmenting path algorithms (2.14.6) can be solved in u ( I v ~ I I ~ ~ ( stime (cf. Ahuja et al., 1993, Sect. 6.5). A multi- processing s y s t e m consisting of identical processing units (Us and U7 in the WK case study) represents a synchronizing resource. Operations processed on any of those units which overlap must belong to the same activity family and must be started a t the same time (see Section 2.13). Moreover, the operations are grouped in activity families in such a way that each family only contains operations with identical processing times. This ensures that all operations carried out in parallel on different units of a multi-processing system are also completed at the same time. Some tasks can be executed on alternative processing u n i t s belonging to different pools (tasks 13, 14, 16, and 17 in the WK case study). For each corresponding activity i, we introduce one execution mode mi for each alternative processing unit operation i can be executed on (cf. Section 2.15). The requirements for renewable resources (processing units) as well a s the durations (processing times) and changeover times (cleaning times) then refer to individual execution modes instead of activities. The processing units Ult o Us, Us, and Us of the WK case study are modelled as renewable resources of capacity one. For the identical processing units Us and U7 that form a multi-processing system, we introduce both a renewable resource with changeover times and a synchronizing resource with capacity two each. Operations 48 t o 50 (task 10) and operations 51 to 59 (tasks 11 and 12) are assigned to two different activity families. For activities
2.16. Application to batch production in process industries
189
60 to 65 and 70 to 76 corresponding to tasks 13, 14, 16, and 17, we have two execution modes each. Intermediate storage facilities can be modelled a s discrete cumulative resources k E Rr (cf. Subsection 2.12.1). For each intermediate product P to be stocked, we introduce one cumulative resource k with safety stock Bk= 0. The storage capacity is given by the maximum stock of P. At the project beginning, resource k is thought to be replenished with the initial inventory of product P. The requirements rib of real activities i for resource k can be ) the task belonging to activity i. If task determined as follows. Let ~ ( i be r(i) consumes product P, then the depletion -r,k > 0 equals the batch size of ~ ( i multiplied ) by the corresponding input proportion of P. Conversely, , the replenishment r i k > 0 equals if P is an output product of task ~ ( i )then the batch size of r ( i )times the respective output proportion of P. In the WK case study, there are nine cumulative resources corresponding to the intermediate products listed in Table 2.16.2. As an example, we consider product P3. The corresponding cumulative resource has a storage capacity of 30 units. Table 2.16.6 shows all activities that determine the inventory of P3. The project beginning 0 provides the initial stock of 20 units. The eight activities 12 to 19, which correspond to task 2, replenish the storage by 0 . 3 5 0 6 19.25 ~ = 6.75 units each. For activities 30 to 33, 34,35, and 42 to 44 belonging to tasks 4, 5, and 8, respectively, the input proportion of P3 equals one. Hence, the corresponding depletions coincide with the respective batch sizes. After the processing of all operations, 20 54 - 20 - 20 - 30 = 4 units represent the inventory of product P3 that remains on stock.
+
Table 2.16.6: Activities i replenishing and depleting inventory of product P3
Finally, we turn to perishable intermediate products. Let P be a perishable output product produced be some operation i. Then there must exist some operation j that immediately consumes the amount of P arising at the completion of operation i . This can be ensured by introducing a min= = pi pulling the start of j to imum and a maximum time lag the completion of i, provided that there is a one-tc-one correspondence between operations producing and consuming perishable products. The latter requirement is generally met in practice because otherwise small deviations between planned and realized processing times would generally imply the loss of perishable substances. If the requirement is not satisfied, the immediate consumption of a perishable intermediate product can be-enforced by introducing a corresponding cumulative resource k with & = Rk = 0.
190
Ch. 2. Minimization of Project Duration
In the WK case study, P6,Plo,PI,, and PI3 are chemically unstable substances. For those products, the amount produced per operation equals the amount consumed per operation (compare the batch sizes of tasks 4 and 15, tasks 8 and 13, tasks 9 and 14, and tasks 11 and 16 listed in Table 2.16.4, and note that the batch size of task 15 decomposes into five units of product P6 and five units of product P I z )Thus, the corresponding producing and consuming operations can be linked by minimum and maximum time lags. Table 2.16.7 shows the input data of a batch scheduling problem and their respective counterparts in the resource-constrained project scheduling model. In the next subsection, we will touch upon an enumeration scheme for solving the corresponding optimization problem.
Table 2.16.7: Batch scheduling vs. project scheduling Batch scheduling Operations Makespan Pools of workers Breaks Pools of identical processing units Cleaning times Multi-processing systems Alternative processing units Intermediate storage facilities Perishable intermediate products
2.16.4
Project scheduling Activities Project duration Renewable resources Activity calendars Renewable resources Sequence-dep. changeover times Synchronizing resources Multiple execution modes Discrete cumulative resources Minimum and maximum time lags
Solution procedure for batch scheduling
The project scheduling problem corresponding to batch scheduling includes renewable and cumulative resources, calendars, sequence-dependent changeover times, and multiple execution modes. It can be solved by combining ;he methods discussed in Sections 2.11 to 2.15 in one enumeration scheme. A feasible solution to this problem can be represented by a pair (S, x), where x is a feasible mode assignment (i.e. an assignment of operations to processing units) and S is a schedule that is feasible with respect to x (cf. Section 2.15). The algorithm is as follows (cf. Fig. 2.16.3, where the numbers in brackets refer t o the sections dealing with the respective issues). First, we relax the hard resource and mode-assignment constraints, that is, we start with the earliest calendar-feasible schedule S = ES and the empty mode assignment x = 0. Schedule ES can be computed by Algorithm 2.11.1. In each iteration, we then deal with one infeasibility occurring for current schedule S or current partial (mode) assignment z (some resource or inventory conflict induced by a forbidden active set, or some real activity for which the execution mode
191
2.16. Application to batch production in process industries
has not been selected). To this end, we verify whether or not schedule S is feasible, i.e. (i) resource-feasible (with respect to the manpower pools), (ii) inventory-feasible (with respect to the intermediate storage facilities), (iii) synchronization-feasible (with respect to multi-processing systems), and (iv) changeover-feasible (with respect to the processing units). Analogously to the enumeration scheme for problem MPS)templC,, (Algorithm 2.15.4), the resource demands, activity durations, and arc weights refer to partial assignment z. If S is a feasible schedule and z is a full assignment, we have obtained a new feasible solution (S,Z). If S is feasible and mode assignment z is incomplete, we choose an activity i with CmiEMi X,,~ = 0 and enumerate all feasible mode selections for activity i . If S is not feasible, we proceed a s follows. We determine a conflict of type (i), (ii), (iii), or (iv) induced by schedule S (e.g. the conflict occurring earliest). For the corresponding active set, we then enumerate all alternative ways of removing the conflict by introducing precedence relationships between a distinguished activity i and activities j from a set B depending on the type of underlying conflict. For each alternative, we obtain new temporal constraints arising from the precedence relationships between activity i and all activities j E B. Relax resource and modeassignment constraints
-
New tempoml constmints
-
-E '$ -2 HI
u
B
-
Schedule S
--( Check resource-f-
V-
2
Calculate earliest schedule S subject to c partial mode assignment g [2.15], -temporal constraints [1.3], and calendars [2.11]
no
no
--(Check i
n
v
e
n
t
o
r
y
v
k
-( assignm,? HS f e a i b l e ? b4Check synchronization-feasibility [2.13] k
2 s
g full
--( Check changeover-feasibility
[2.14]
k
Figure 2.16.3: Enumeration scheme for solving the batch scheduling problem
As mentioned in Section 2.11, in case of activity calendars, the precedence relationships between activity i and the activities j E B must refer to
192
Ch.2. Minimization of Project Duration
calendars as well. A conflict of type (i) is resolved by introducing the constraints S j - Si pi for all j € B. The calendars bij for arcs (i,j)coincide with calendar bi for activity i. The same holds for conflicts of type (ii) when some inventory falls below the safety stock (inventory shortage) or conflicts of type (iii) when activities from different activity families overlap in time (homogeneity conflict). If the capacity of some storage facility is exceeded (inventory excess), we add the constraints S j - Si 2 -pj for all j E B. Since the latter inequalities represent maximum time lags dmax = pj, the respec3: tive calendars bij coincide with calendar bj for activity J (note that since the weight of arc ( 2 , j ) is negative, pj is the maximum processing time pj,, with mj E M j ( z ) ) .To sort out a conflict of type (iii) when activities overlapping on a synchronizing resource are not started at the same time (simultaneity conflict), we add constraints S j - S j 2 pi for all j E B with S j > Si and constraints Si - Si 2 0 for all j E B with S j < Si. In the former case, the calendars bii for arcs ( i , j ) are again chosen to be equal to calendars b,. In the latter case, arcs ( i , j ) have zero weight, and thus we may put bij(t) := 1 for all t 1 0 (bij = 1, for short). When dealing with conflicts of type (iv) for some resource k E ' R P , we introduce the constraints S j - S; 2 pi d,kj for a11 j E B. Here, each corresponding minimum time lag decomposes into two parts: the time lag between the start and the completion of activity i and the time lag between the completion of i and the start of j . Whereas the former time lag refers to calendar b,, the latter is independent of calendars. Thus, we introduce a fictitious activity i' (representing the completion of i ) together with minimum lags q j n = pi and Q:" = d,k, for all j E B. For the corresponding arcs ( i , i l )and (i', j), we have the calendars b i , = bi and bitj = 1. Table 2.16.8 summarizes the constraints for resolving the different types of conflicts.
Calendar (s) b.. z3 - b. Sj - St L pi b.. r3 - b. z S j - St 2 pi 6.. V -- 6J. S j - Si 2 -pj b.. q - b.% S j - S; 2 pi S j - S, pi, S j - Si 2 0 be = b;, bij = 1 Sin - S , 2 pi, Sj - Sit 2 19:~ bii, = b,, birj = 1 %
>
The project which corresponds t o the processing of all batches of the WK case study shown in Table 2.16.4 has been solved by a filtered beam search heuristic (cf. Subsection 2.5.5b) based on the enumeration scheme discussed above. Using an 800 MHz clock pulse PI1 personal computer with Windows NT 4.0 as operating system, a feasible solution (S, x) with a project duration of 102 hours has been computed within 30 seconds of running time.
2.16. Application to batch production in process industries
193
Fig. 2.16.4 shows the corresponding Gantt chart for the nine processing units Ul to U9as well as the location of breaks and night shifts.
-
Figure 2.16.4: Gantt chart for feasible solution t o WK case study The dark-shaded boxes in the Gantt chart represent cleanings of processing units. There is one operation ( a = 60) that is interrupted during a break. Processing unit U4 represents the bottleneck of the production plant. The idle times on U4 are essentially caused by inventory conflicts arising from the limited storage capacity for output products P7,P8,and Pg. Recall that processing units Us and U7form a synchronizing resource. Thus, aside from the last operation 59, always two operations from tasks 11 and 12 are carried out simultaneously.
194
Ch. 2. Minimization o f Project Duration
A truncated branch-and-bound algorithm for batch scheduling in process industries based on the above enumeration scheme has been integrated into the module Production Planning and Detailed Scheduling of the software product APO (Advanced Planner and Optimizer) of SAP AG Walldorf, Germany. Aside from makespan minimization, that algorithm also allows the optimization of general regular objective functions like maximum lateness or mean weighted flow time (see Section 2.10).
Chapter 3 Resource-constrained Project Scheduling - Minimization of General Objective Functions In Chapter 2, we have dealt with project scheduling where the project duration or any regular objective function is to be minimized. Recall that a regular objective function is a function nondecreasing in the start times of activities. In practice, however, nonregular objective functions often occur as well. Examples of nonregular objectives are the maximization of the net present value of the project, where a positive or a negative cash flow is supposed to be associated with the completion of certain activities (net present value problem), the minimization of the earliness plus tardiness cost of the activities (earliness-tardiness problem), where a due date is prescribed for each activity, the minimization of the cost of resources purchased (resource investment problem), the minimization of the changeover times (changeover time problem), where sequence-dependent changeover times arise between the execution of consecutive activities, the minimization of a measure of the variation of resource utilization (resource levelling problem), and the minimization of the total renting cost of resources (resource renting problem). Most solution procedures for project scheduling problems with nonregular objective functions presented in literature deal with precedence constraints instead of general temporal constraints. We list some references dealing with the case of precedence constraints. For special resource levelling problems (without resource constraints), exact algorithms based on complete enumeration and dynamic programming techniques have been devised by Ahuja (1976, Ch. 11) and Bandelloni et al. (1994), respectively. Solution procedures based on integer programming have been presented by Easa (1989) and Younis and S a d (1996). Heuristic procedures can be found in Moder and Phillips (1970, Ch. 8), Ahuja (1976, Ch. l l ) , Harris (1978, Ch. 11, and 1990), Moder et al. (1983, Ch. 7), and Takamoto et al. (1995). Those procedures are simple shifting heuristics or priority-rule methods. For the resource investment problem, branch-and-bound procedures have been devised by Mohring
196
Ch. 3. Minimization o f General Objective Functions
(1984) and Demeulemeester (1995). Upper and lower bounds for this problem based on Lagrange relaxation and column generation techniques have been discussed by Drexl and Kimms (2001). For the time-constrained net present value problem without resource constraints, exact solution procedures based on network optimization techniques have been proposed by Russell (1970), Grinold (1972), and Demeulemeester et al. (1996). Yang et al. (1992), Icmeli and Erengiiq (1996), and Vanhoucke et al. (2001b) have devised integer programming and branch-andbound procedures for the resource-constrained net present value problem. Priority-rule based methods for the latter problem have been discussed by Russell (1986), Padman and Smith-Daniels (1993), Baroum and Patterson (1996b), Pinder and Marucheck (1996), Padman et al. (1997), and Mayer (1998, Ch. 4). Schedule-improvement procedures have been presented by Icmeli and Erengiiq (1994), Yang et al. (1995), Mayer (1998, Ch. 6), and Zhu and Padman (1999). Recently, Vanhoucke et al. (2001a) have proposed a branch-and-bound method for the resource-constrained earliness-tardiness problem. For a comprehensive review of resource levelling, resource investment, and net present value problems with or without maximum time lags, we refer to 0zdamar and Ulusoy (1995), Herroelen et al. (1997, 1998), Brucker et al. (1999), Kolisch and Padman (2001), Demeulemeester and Herroelen (2002), Neumann et al. (2002c), and Schwindt (2002). Lower bounds for a large number of different time- and resource-constrained project scheduling problems can be found in the doctoral dissertation of Selle (2002). Those bounds are based on Lagrange and surrogate relaxation techniques as well as interval workload considerations. In this chapter, we are going to discuss resource-constrained project scheduling with general objective functions f subject to general temporal constraints, where we put the emphasis on n o ~ e g u l a rfunctions f . The corresponding scheduling problem is denoted by PSI temp, f , where the symbol d indicates that a prescribed maximum project duration or deadline E M must not be exceeded. In Section 3.1, we study several different objective functions important from a practical point of view. In Section 3.2, we introduce some further types of shifts and corresponding sets of schedules in addition to those considered in Section 2.4. Moreover, we show that the individual types of schedules represent special points of the feasible region of problem PSI temp, 21 f . Section 3.3 is concerned with a classification of regular and nonregular objective functions f . We consider seven classes of objective functions f . In particular, each of the objective functions introduced in Section 3.1 belongs to one of these classes, and for each such class, a finite set of schedules is presented which contains an optimal schedule for PSltemp,;il f . In Section 3.4, we investigate the time complexity of time-constrained project scheduling for objective function classes 1 to 7. In Section 3.5, we discuss a relaxation-based enumeration scheme for classes 1 to 5 and deal with exact solution methods for the
al
a
3.1. Different objective functions
197
net present value and earliness-tardiness problems. Section 3.6 is devoted to a tree-based enumeration scheme for classes 6 and 7 as well as branchand-bound-methods for the resource investment, changeover time, resource levelling, and resource renting problems. Section 3.7 deals with priority-rule methods for time-constrained and for resource-constrained project scheduling problems with objective functions from classes 1 to 7. In Section 3.8, we are concerned with neighborhoods and schedule-improvement procedures of type tabu search for project scheduling problems with regular and nonregular objective functions. In Section 3.9, we propose a parametric optimization approach, which provides the project net present value as a function of the discount rate and project deadline. Finally, in Section 3.10, we consider a hierarchical project planning approach, which incorporates short-, medium-, and long-term planning.
3.1
Different objective functions
The resource-constrained project scheduling problem we deal with in this chapter differs from problem PSltemplreg discussed in Chapter 2 in the objective function f which need not be regular and in the additional constraint
where a E N Inequality (3.1.1) says that a prescribed maximum project duration d must not be exceeded, where $ 2 ES,+l with ES,+l being again the shortest project duration in the case without resource constraints. (3.1.1) can be satisfied by introducing the additional maximum time lag = d. Thus, in Chapter 3 project network N always contains a backward arc from node n 1 to node 0 weighted by b,+l,a = -d and consequently coincides with temporal scheduling network N + . The project scheduling problem to be discussed is then as follows, where f : IE;i2 -+ R
Qz,
+
Minimize f ( S ) subject t,o rk(S,t ) 5 R~ ( k E 'R, o 5 t S j - Si 2 6, ((i, j ) E E ) 20 (i E V )
s,
5 2)
I
(3.1.2)
Problem (3.1.2) is denoted as ~ ~ l t e m ~ f ,ind the l three-field notation by Brucker et al. (1999). Again, a feasible solution or optimal solution to problem (3.1.2) is called a feasible schedule or optimal schedule, respectively. The corresponding problem without resource constraints called the time-constrained project scheduling problem (cf. Section 1.3) is denoted by PScol temp, J(f. PSwItemp, dl f can be regarded as a resource-constrained
198
Ch. 3. Minimization of General Objective Functions
problem with unlimited resource capacities. A feasible solution or optimal solution t o PSooltemp,Zlf is called a time-feaszble schedule or a time-optimal schedule, respectively. The determination of an optimal solution t o PSool temp,Zl f is referred to as time-constrained project scheduling. Whereas temporal project scheduling is concerned with computing earliest and latest start times as well as floats of activities i E V (cf. Section 1.3) regardless of objective function f , time-constrained scheduling explicitly refers to the objective function under consideration. If f = reg, then can be set equal to the upper bound on the shortest project duration given by (2.1.3). Thus, problem PSI temp(reg dealt with in Chapter 2 is included in problem PSItemp, dlf studied in this chapter. The additional constraint (3.1.1) does not alter the structure of the feasible region of the project scheduling problem. All definitions and statements from Section 2.3 remain valid, where we can replace "polyhedron" by "polytope", because due t o S,+, 5 2, the set of time-feasible schedules (time-feaszble region) for PSI temp, 21f , which is again denoted by ST,and all subsets of ST are now bounded. Moreover, set S of feasible schedules (feasible region) is again disconnected in general and represents the union of finitely many polytopes (cf. Theorem 2.3.7). In what follows, we need some additional notation. Given a partial schedule SC= (Si)iGc, where C V (cf. Definition 2.6.3), the set of points in time t at which a t least one activity i E C is started is denoted by ST C , and the set of points in time t a t which a t least one activity i E C is completed is denoted by C@. The elements of set D@ := S T C u C T Care called decision times for partial schedule SC. The set of jump discontinuities of all resource profiles rk(SC,.), k E 7'2 (cf. (2.6.3)), is a subset of DT'. Trivially, IDT' ~ 5 2(n +1) for any partial schedule S C . Note that we always omit superscript C if C = V. In the latter case, SC = S represents a schedule. Obviously, in the formulation of the resource constraints in (3.1.2), 0 5 t d can be replaced by t E S T , that is, the resource constraints need only be satisfied for all points in time at which at least one activity is started. Next, we discuss several &fferent objective functions f which represent some measure of project performance used in practice, where we include the regular functions dealt with in Section 2.10. For each objective function presented, we give the corresponding symbol of the third position in the threefield notation by Brucker et al. (1999). For example, for problem (3.1.2) with f (S) := maxiGv(Si+ p i - di), where the maximum lateness has t o be we list minimized (cf. (2.10.1)) and which is denoted by PSlternp,;ilL,,,,
<
-
&,ax.
First, we deal with regular objective functions. The simplest regular objective function f is the project d u r a t i o n or makespan C,, treated in detail in Chapter 2: m : f (s):= sn+1
3.1. Different objective functions
199
As just mentioned, if the m a x i m u m lateness of any activity is to be minimized for given due dates di E Z>o(i E V ) , the objective function is
L
:
f ( S ) :=
ca;xLi = max(Si + pi - di) iEV
where Li := Si +pi - di is the lateness of activity i E V. Thud, we consider the weighted flow t i m e CiEvwfFir where w r 2 0 is a weighting factor and F, := Ci - r; = Si +pi - ri ( i E V ) is the pow time of activity i with ri E iZ20 being the release date of activity i. In this case, we have
A fourth regular objective function t o be minimized is the weighted tardiness CiEvwTTi, where Ti := (Si +pi - di)+ is the tardiness for prescribed due date 4 E Z>a, W? 2 0 is the tardiness cost per unit time of activity i E V, and again(z)+ := max(z, 0). Thus, we have
We proceed with nonregular objective functions. First, we consider the weighted earliness, that is, we have
where Ei:= (4-Si-pi)+ is the earliness, and w f 2 0 is the earliness cost per unit time of activity i E V. This objective function can be used if for storing certain products manufactured, high holding costs are incurred. Objective function C w$Ei represents a so-called antiregular objective function f , that is, S 2 S implies f ( S ) 5 f ( S ) . Just-in-time production, which strives for avoiding poorly timing of the beginning of activities, has become more and more important in practice. A corresponding performance measure is the weighted earliness- tardiness, which results in the objective function f
f
WE
where 2 0 and wT 2 0 are again the earliness cost and tardiness cost, respectively, of activity i E V per unit time. Objective function C w:E,+wTT, is generally neither regular nor antiregular. Fig. 3.1.1 shows the earlinesstardiness cost fi(Si) := wEEi wTTi for some activity i E V with pi = 1, d, = 7, w$ = 0.5, and w: = 1. The performance measure of weighted earliness-tardiness can also be used for secalled rescheduling. When dealing with real-life problems, input data such as processing times of activities or amount of resources available are
+
200
Ch. 3. Minimization of General Objective Functions
Figure 3.1.1: Earliness-tardiness cost for activity i often subject t o change, for example, if workers are absent or machines break down. As a consequence, a previously feasible schedule becomes infeasible. Then, we want to find a new feasible schedule "as close as possible" t o the original one because larger deviations generally cause additional difficulties. This can be done by solving a project scheduling problem with objective function C wTT. , , where due date d, equals the original completion time of activity a . In practice, it is often desirable that the activities of a project are evenly distributed over time such that the number of activities t o be scheduled in parallel is minimized. In this case, an appropriate objective function t o be maximized is the sum of weighted start t i m e deviations wijlS, - SiI (i, j E V, i < j). The factor wij 2 0 corresponds t o the benefit of increasing the time lag between activities i and j per unit time. If wij depends on the amount of some resources k E 'R' & 'R used by activities i and j , we choose wij := CkER,(~ilc +rjk). Since we always want t o minimize objective function f, we consider objective function
+
Notice that if the workload of the activities is of similar size, objective function - C C wij ISj - Si1 yields a schedule which (approximately) minimizes the variation of the resource utilization over time. Other resource levelling objective functions will be discussed later on. Fig. 3.1.2 shows function fi(Si) := -19 - Sil representing the start time deviation between activity i E V and some activity j > i that is begun a t time S, = 9. A further nonregular objective function f is the sum of arbitrarily weighted start t i m e s
or, equivalently, CiEv viCi, where vi E IR is a real-valued weight associated with activity i E V. If vi > 0,activity i should be carried out as early as possible (for example, in case that a payment is associated with the completion
3.1. Different objective functions
201
Figure 3.1.2: Start time deviation between activity i and activity j with =9
s,
of activity a), whereas for vi < 0, activity i should be carried out as late as possible (for example, if a premature completion of activity i incurs a large inventory holding cost). In process industries, where often expensive chemicals and experts are needed for cleaning processing units like reactors or filters, the minimization of the corresponding total changeover cost is an important objective. In general, the changeover costs are sequence-dependent, i.e., each changeover cost depends on both the preceding and following operations. For an overview of sequence-dependent changeover cost problems in machine scheduling, we refer e.g. to Aldowasain et al. (1999) and Cheng et al. (2000). The minimization of the total sequence-dependent changeover cost in project scheduling has been discussed by Hartung (2002). For notational convenience, in what follows we only consider changeover costs that are proportional to the respective changeover times. In this case, the minimization of the total changeover time and the minimization of the total changeover cost are equivalent objectives. In Section 2.14, we have considered the problem of finding a time- and changeover-feasible schedule with minimum makespan. The latter problem consists of two subproblems, the unit-assignment problem where resource units are assigned to the project activities and a resource-constrained project scheduling problem where activities assigned to the same resource units cannot be carried out in parallel. Recall that Vk (k € R ) denotes the set of all activities i € V with rjk > 0, that v k := Vk U { 0 , n 1), and that ~9:~E Z20 ( i ,j 6 Vk) is the changeover time from activity i to activity j on resource k, where we again assume that t9& = t9t,,+1 = 0 for all k E R and all i E Vk. For given schedule S , 6"s) := {(i, j) E V k x Vk I i # j, Sj S, +pi 85) ( k E R) is the set of all activity pairs (i, j) for which there is enough time between Sj and Sj to execute activity i and to change over resource k from i to j (cf.
+
>
+
202
Ch. 3. Minimization of General Objective Functions
equation (2.14.3)). As already mentioned in Section 2.14, d k ( s represents ) a strict order in activity set V. Given schedule S and resource k E R, we have to decide on the number of units that are to be changed over from activity i t o activity j for each ( i , j ) E 6"s)).In analogy to Section 2.14, we regard the vector ah:= ( @ ~ ) ( i , j ) ~ d which k ( s ) ~satisfies
vk
as a flow in flow network G k with node set and arc set { ( i , j ) I (a, j ) E d k ( s ) ) . Constraints (3.1.3) ensure that for each activity i E fi,exactly rik units of resource k are changed over from preceding activities h t o activity a and exactly rik units of resource k are changed over from activity i to subsequent activities j . We call flow Qk feasible if it satisfies the inequality
Constraint (3.1.4) guarantees that at most & units of resource k are used a t a time. If for given schedule S and each k E R there is a feasible flow ak, then S is termed a changeover-feasible schedule. For flow Q k , C(i,j,E6L(S) 8?$fi represents the sum of all changeover times on resource k. Given schedule S and resource k , flow @"is called timeoptimal if the corresponding sum of changeover times
is minimum. A feasible flow with minimum sum of changeover times is said to be optimal. Now let Q k ( S ) be the set of all flows @?Then the objective function for minimizing the sum of changeover times is ~ ~ i J i j @ i j f :(
S):=C
min
6,k,@!j
~ER"~"(~ ( i ,)j ) E a k ( s )
The resource-constrained changeover time problem, denoted by PSItemp, d, sijl C C &,ai,,consists of finding a time-feasible schedule S for which there exist optimal flows @"k E R). Such a schedule S is again termed optimal. Note that an optimal schedule S is in particular changeover-feasible because of the feasibility of flows @ h ( k E R ) . Recall that each changeover-feasible schedule is resource-feasible as well (cf. Remark 2.14.1). Hence, for the formulation of problem PSltemp,d,sijl C C B q a i j , we replace the resource constraints in our project scheduling model (3.1.2) by inequalities (3.1.4) and add constraints (3.1.3) and @ f j 2 0
-
3.1. Differentobjective functions
203
( k E 'R, (i, j ) E Gk(s)). If for all k E 'R inequalities (3.1.4) are omitted, we obtain the corresponding time-constrained changeover time problem PSCCJ~ temp, a, sijl C C ISijQii. A time-feasible schedule S which minimizes the sum of changeover times for some flows CPk (k E 72)is called time-optimal. For given schedule S and resource k E 'R, a time-optimal flow can be computed by solving the minimum-cost flow problem in network Gqnduced by strict order b k ( s ) , where nodes i E Vk have lower and upper node capacities 1, = ui = r i k and the unit cost on arc (i, j ) is equal to t?:". Note that in Section 2.14, a minimum flow problem in network G k has be& discussed. Thus far, we have only considered t i m e b a s e d objectives. A nonregular performance measure which is related to objective function C viSi and additionally takes the discounting of payments and disbursements into consideration is the net present value of the project. In particular, if the planning horizon of the project is somewhat longer, maximization of the project net present value is an appropriate financial objective. Let p = l / ( l + I ) be the discount rate (per unit time) with 0 < p 5 1, where I is a given interest rate, and let C: E R he the cash pow associated with activity i E V. Cash flow c r is supposed to occur at the completion time Ci of activity i and may be positive (that is, a payment received) or negative (that is, a disbursement). Notice that a disbursement c 5 f t e n occurs a t the start of an activity a . In the latter case, however, cf can be replaced by the disbursement :5i := crp-Pi referring to the completion time Ci of activity i. In practice, a payment cc, is often received only when a set of activities V' C V instead of a single activity have been completed (i.e., cF, > 0, and cf 5 0 for all i E V'). In that case, a dummy activity j with duration p j := 0 and cash flow C: := c;, as well as arcs (i, j ) (i E V') and (j,n 1) with weights dij := pi and dj,,+i := 0, respectively, are added to the project network. The n e t present value of the project with activity set V (which possibly contains dummy activities j as just mentioned) equals CiEv$PC,. AS mentioned above, we want to minimize the objective function f . Thus, we have : f ( s ) := cFpSc+~;
+
c
C
iEV
Fig. 3.1.3 shows functions fi(Si) := -crpS.+pi for P = 0.9, pi = 1, and cf = -10 as well as c r = 10. Next, we discuss some nonregular resource-based objectives, which depend on the resource profiles rk(S,.). If the resources necessary to carry out the activities have to be purchased (for example, expensive machinery) and we want to minimize the total procurement cost, we speak of the resource investment problem. Let ck 0 be the procurement cost per unit of resource k E 'R and r k t := rk(S,t) the amount of resource k used at time t given schedule S. Then ck mq,,,arkt represents the procurement cost for resource k needed for planning horizon a. If we want to minimize the sum
>
~
-
204
Ch. 3. Mjnimjzation of General Objective finctions
Figure 3.1.3: Discounted cash flow for activity i with cr = -10 and c: = 10 of the procurement costs for the different resources k E R called the t o t a l procurement cost, we obtain the objective function
Often some measure of the variation of resource utilization is to be minimized if the resources should be utilized evenly over time. We then speak of a resource levelling problem. Let ct 2 0 be a cost incurred per unit of resource k E R and per unit time. Then the first resource levelling objective function considered is
which represents the t o t a l squared utilization cost given schedule S. Of course, if time t is discrete, the integral is to be replaced by a sum. If a cost for the is incurred when a given supply of resource k or a threshold Yk E Z2,, resource utilization is exceeded, we may use the second levelling objective function
where okt := [ r ~ ( S , t ) Yk]+denotes the overload of resource k E R at time t with respect to threshold Yk given schedule S and Cck Cokt is the t o t a l overload cost. The resource levelling problem with objective function C ck C oht is termed resouze overload problem. If no threshold is given, Yk can be replaced by the (rounded) average resource utilization
3.1. Different objective functions
205
If the resources represent different kinds of manpower and changing the size of work force over time should be smoothed, the following resource levelling objective function may be appropriate. For t E DT \ {0), let
be the largest decision time less than t and for t E DT, let A rkt .-
.-
{
rk(S,t) - rk(S,ut), if t > 0 otherwise rk(sj0)
be the jump of the resource utilization of resource k at time t E DT, i.e. the difference between the resource utilization at times t and ut. Moreover, let A+rkt := (Ark,)+ and
A-rkt := (-A?"&)+
be the increase and decrease, respectively, in utilization of resource k E R at time t E DT where again (z)+ := max(z, 0). Then the third resource levelling function for smoothing the resource utilization over time, which represents the total adjustment cost, is
>
0 and C; 2 0 denote the cost for increasing and decreasing, where c: respectively, the resource availability of resource k by one unit. The resource levelling problem with the latter objective function is called the resource c;A-rkt adjustment problem. Note that for c: = c;, sum C CclA'rkt can be simplified to 2 C c l C A+rkt because C Atrkt = C A-rkt. Finally, we discuss the case where the resources needed for the execution of activities are rented. Renting of resources incurs fixed and variable costs. For each unit of resource k E R rented, we have a fixed renting cost of cf 2 0 arising when bringing the unit into service. In practice, c i often represents a transportation or delivery cost for resource units rented. The variable renting cost of cU, 0 refers to one unit of resource k and one unit of time for which the resource unit is rented. For given schedule S , we have to decide on how many units of resource k E R are to be rented at each point in time t E [O,q. Obviously, at some points in time t it may be optimal to rent more units than used (i.e. more than rt(S, t) units) in order to reduce the fixed cost. Given schedule S, let cpk(S, t ) (or pkt, for short) be the amount of resource k rented at time t E [O,q. Function pk(S, .) indicates at which points in time resources are allocated or released and thus how long resources are rented. Since in time interval [O,q,each resource can only be brought into service finitely many times, we can restrict ourselves to step functions pk(S,.) with finitely many jump discontinuities in what follows. Analogously to resource profiles rk(Sl.), we assume that the functions cpk(S,.) are continuous from the right. Function
+
>
206
Ch. 3. Minimization of General Objective Functions
p(S, .) := (cpk(S,. ) ) b E ~is called a renting policy for schedule S . Function pk(S, .) is also said to be a renting policy for resource k and schedule S . Given renting policy cpk(S,.), cV, ~ ~ c pt)dt ~ represents ( ~ , the total variable renting cost for resource k and planning horizon a. Let J , be the finite set of jump discontinuities of function cpk(S,.) on interval [ O , q including time 0 if cpk(S,0 ) > 0, and let rmi,be the smallest of those jump points. For t E Jk \ { ~ m i n ) r let rt := max{r E Jk I T < t ) (3.1.6) be the largest jump point of function pk(S,.) less than t and for t E Jk, let
+
[ ~ k ( S ,t ) cpk(S,~t)]+,if t > Tmin pk(SI otherwise (3.1.7) be the increase in the amount of resource k rented at time t. Then the total fixed renting cost for resource k equals c{ CtGJ, A+cpkt. Renting policy cp(S;) is called feasible with respect to schedule S if pk(S,t ) 2 r k ( S ,t ) holds for all k E R and t E [O,q. Given schedule S , renting policy cp(S,.) is called optimal if p(S, .) is feasible with respect to S and the corresponding total renting cost
is minimum. The objective function f of the resource renting problem represents the t o t a l renting cost belonging to an optimal renting policy for schedule S and reads as follows:
Let cp;(S,-) be an optimal renting policy for schedule S and k E R. The resource-constrained resource renting problem PSI temp, f with f given by (3.1.8) consists of finding a time-feasible schedule S which satisfies the resource constraints and minimizes objective function f . Again, such a schedule is called optimal. Note that the new resource constraints (3.1.9) are satisfied exactly if the previous constraints (2.1.4) are met because it cannot be optimal to rent more than maxtEI0dr k ( S ,t ) units a t a point in time t E [O,Ti], that is, max,,~,,q cpz(S,t ) = max,,[,,q r k ( S ,t ) for each optimal renting policy cp;(S,.) for resource k and schedule S . If resource constraints (3.1.9) are deleted, we get the correspondin time-constrained resource renting problem PSmltemp,dl CCcicpkt c,A+pkt. An optimal solution to the latter problem is again called a time-optimal schedule.
+ B
3.2. Additional types of shifts and sets of schedules
3.2
207
Additional types of shifts and sets of schedules
Our goal is to solve project scheduling problem PSltemp,dl f , where f is any of the nonregular objective functions introduced in Section 3.1. TO do so, we propose a classification of objective functions f (including regular functions) in Section 3.3 and present exact and heuristic solution procedures for the individual classes of functions f . We will show that for each class of functions f , there is a finite set of special schedules containing an optimal schedule, which can be found by applying an appropriate schedule generation scheme. Moreover, for each class of functions f , we will provide a finite set of locally optimal start times for scheduling activities by means of a serial generation scheme, which gives rise to the construction of appropriate heuristic procedures. To characterize the in vidual classes of objective functions to be introduced in Section 3.3, we need special sets of schedules based on diierent types of shifts in addition to those introduced in Section 2.4. These new types of shifts and schedules are defined in this section. We also discuss the relationship between the individual sets of schedules introduced and show that the new types of schedules again correspond to specific points of the feasible region S.For the following material, we also refer to Neumann et al. (2000) and Zimmermann (2001, Ch. 2). Recall the concepts of leftshifts, right-shifts, and global, local, orderpreserving, and order-monotone shifts introduced in Section 2.4. Next, we consider two additional types of s fts. (3.2.1) Definition. A shift transforming a schedule S into a schedule S # S is called a uniform shift if S' - S is a multiple of a binary vector, that is, S' - S = Xz with z E (0, lJnf2and X # 0.
In other words, in a uniform shift, all shifted activities are shifted by the same amount. Note that each uniform shift is either a left-shift or a right-shift. hi (3.2.2) Definition. Two shifts transforming schedule S into schedules S' and S", respectively, are called opposite (also termed a pair of opposite shifts from S to S' and S", respectively) if S" - S is a negative multiple of S - S , that is, S" - S = X(Sr - S ) with X < 0.
Trivially, if for a pair of opposite shifts from S to S' and S", respectively, the shift from S to S' is a left-shift (or right-shift), then the shift from S to St' is a right-shift (or left-shift, respectively). To illustrate the new types of shifts, we consider the following example.
208
Ch. 3. Minimization of General Objective Functions
(3.2.3) Example. We return t o the project of Example 2.4.5 shown in Fig. 3.2.1 with five real activities and a single resource of capacity R = 3, where we add the additional constraint S6 5 a = 14. Since activities 0, 3, 4, and 5 belong to a cycle of length zero, the corresponding start times S3 = 0, S4 = 4, and SS= 9 are fixed.
F i g u r e 3.2.1: Project network N with a single resource
F i g u r e 3.2.2: Gantt charts for schedules S, S', and S2 Fig. 3.2.2 shows the Gantt charts for three feasible schedules S, S', and S2. The dark shading of activities 3, 4, and 5 indicates that the start times of these activities are fixed. Since S' - S = (0, -3, -3,0,0,0,0) and S2 - S = (0,2,2,0,0,0,O), the shifts transforming S into S' and S2 are uniform. Moreover, the shifts from S t o S1 and S to S2form a pair of opposite shifts because S2 - S = -2/3(S1 - S). The next lemma states that we may restrict ourselves t o uniform orderpreserving and uniform order-monotone shifts. For the proof, recall the
3.2. Additional types of shifts and sets of schedules
209
concepts of (feasible) strict orders O(S) associated with schedules S and of order polyhedra S T ( 0 ) and schedule polyhedra ST(O(S)) introduced in Section 2.3. Notice that the (order or schedule) polyhedra now represent (order or schedule) polytopes due to the additional constraint 5 d. Hence, Theorem 2.3.7 now says that the feasible region S is the union of finitely many order polytopes corresponding to all inclusion-minimal feasible strict orders 0 E 0. (3.2.4) Lemma. Let S be a feasible schedule. There is an order-preserving (or order-monotone, respectively) left-shift from S if and only if there is a uniform orderpreserving (or uniform order-monotone, respectively) left-shift from S. Furthermore, there is a pair of opposite order-preserving (or order-monotone, respectively) shifts from S if and only if there is a pair of opposite uniform order-preserving (or opposite uniform order-monotone, respectively) shifts from S.
Proof. Let S be a schedule obtained by an order-preserving left-shift from S. For each activity i E V, let zi := -1 if S,'- Si < 0, i.e., activity i is left-shifted, and zi := 0, otherwise. Moreover, let A := miniev,,,,-I (Si- S,') be the minimal amount by which any activity is left-shifted. Then all precedence relationships between activities i and j with q = -1 and Z, = 0 holding for schedule S + Az are met by schedule S' as well. Consequently, O(S ). Since a uniform shift from S to S z does not O(S Ax) affect the time lags between any pair of shifted activities, we also have O ( S Az). This means that there is a uniform order-preserving O(S) left-shift from S exactly if there is an order-preserving left-shift from S. Now let S' and S" be schedules obtained by a pair of opposite orderpreserving shifts from S. Again, for each activity i E V, let zi := -1 if S,'- Si < 0, and zi := 0, otherwise. Without loss of generality, we assume that St 2 S. Shifts from S to schedules S + EZ and S - €2 are opposite and uniform for each E > 0. Furthermore, there is an E > 0 such that O(S) O ( S EZ) C O(S1) and O(S) O ( S - EZ) & O(Sf'). This means that the shifts from S to schedules S + EZ and S - sr are order-preserving. For the case of order-monotone shifts the reasoning is similar. f
+
f
+
+
+
By Definition 2.4.6 we have introduced the sets of active, semiactive, pseudoactive, and quasiactive schedules denoted by AS, SAS, PAS, and respectively. Next, we define some additional sets of schedules.
&a,
(3.2.5) Definition. A feasible schedule S is called antiactive if there is no global right-shift from S. The set of all antiactive schedules is denoted by AS.
Whereas the schedule sets AS, SAS, PAS, and &AS are related to leftshifts and schedule set AS is related to right-shifts, we now introduce sets of schedules which do not allow pairs of opposite shifts.
Ch. 3. Minimization of General Objective finctions
210
(3.2.6) Definition. A feasible schedule S is called stable, semistable, pseudostable, or quasistable if there is no pair of opposite global, local, order-monotone, or order-preserving, respectively, shifts from S . The sets of all stable, semistable, pseudostable, and quasistable schedules are denoted by SS,SSS, PSS, and Q S S , respectively. Definition 3.2.6 implies that stable schedules are semistable, semistable schedules are pseudostable, and pseudostable schedules are quasistable.
(3.2.7) Remark. Let S be a quasistable schedule. Then for each activity i E V, there is either an activity j E V such that Si +pi = S j or Si + Sij = S j or an activity h E V such that Si = Sh ph or Si = Sh + bhi. Thus, each quasistable schedule is integer-valued because all activity durations and minimum and maximum time lags are integers and So = 0 (cf. Remark 2.4.10b).
+
Next, we discuss the connection between the individual sets of schedules on the one hand and special points of the feasible region S on the other &call that S E M is a minimal point of M exactly hand. Let M F+2. if there is no S' E M, S' # S , such that S' 5 S. Analogously, S E M is a maximal point of M exactly if there is no S' E M, S f # S , such that S' 2 S . According to Lemma 2.4.7, each order polytope S r ( 0 ) possesses a unique minimal and analogously a unique maximal point. Thus, the feasible region S contains a t least one minimal and one maximal point provided that S # 0. S E M is an extreme point of M exactly if S does not lie on a line segment that joins two other points of M. If M represents a finite union of polytopes, then each extreme point of M is a vertex of M. Conversely, a vertex of M is an extreme point if M represents a polytope. Finally, S E M is called a local extreme point exactly if S does not lie on a line segment that joins two other points of M and totally belongs t o M. The following lemma identifies the pseudostable schedules as local extreme points of S. (3.2.8) Lemma. Schedule S is pseudostable if and only if S is a local extreme point of S.
Proof. If S is no local extreme point, there are a direction z E J R F 2 , z # 0 , and some E > 0 such that all schedules on the line segment joining S - ~ z and S € 2 are feasible. Let
+
e' := min(
min
(i,i)@'O(S):z,>z,
{(Si+pi - Sj)/[2(z, - zi)],e})
We have E' > 0 because for all (i,j ) $ O ( S ) , it holds that Si +pi > S j . Consequently, O ( S + E'Z)and O ( S - ~ ' zare ) subsets of O ( S ) . This implies that schedule S is not pseudostable.
3.2. Additional types of shifts and sets of schedules
211
Now assume that S is not pseudostable, that is, there is a pair of opposite order-monotone shifts from S , say, to schedules S t and S", respectively. Then S and S t belong to one and the same order -~olvtope, " - . and the same holds for S and S". his, the feasible region S includes the line segment joining S' and S". Let S be a feasible schedule which is not pseudostable. Then Lemma 3.2.8 implies that there is a line segment passing through S which belongs to the feasible region. The next lemma, which is proved in Neumann et al. (2000),states that this line segment can be chosen such that it is included in an order polytope S=(O) with 0 & O ( S ) .
(3.2.9) Lemma. Let S be a feasible schedule. There is a pair of opposite order-monotone shifts from S if and only if there is a feasible order 0 C O ( S ) which represents a ) S t # S and S" # S such that S subset of some orders O ( S t ) and O ( S U with lies on the line segment joining S' and Sf'. In addition to Theorem 2.4.9 we have
(3.2.10) Theorem. ( a ) A schedule S is antiactive if and only if S is a maximal point of S. (b) A schedule S is stable if and only if S is an extreme point of S . ( c ) A schedule S is semistable if and only if S is an extreme point of a component of S . ( d ) A schedule S is pseudostable if and only if S is an extreme point of all order polytopes ST(O) belonging to feasible strict orders 0 & O ( S ) . ( e ) A schedule S is quasistable if and only if S is an extreme point of schedule polytope S T ( O ( S ) ) . Proof. ( a ) is obvious. (b) There is no pair of opposite global shifts from feasible schedule S exactly if S is stable (cf. Definition 3.2.6). Hence, if S is stable, there is no pair of different feasible schedules S = AS' + (1 - X)Stt with 0 < X < 1. In other words, any stable schedule represents an extreme point of S and vice versa. ( c ) Semistable schedules S are related to pairs of opposite local shifts from schedule S . Hence, if S is semistable, there is no pair of different feasible schedules S t and St' with 0 < X < 1 such that S t and S" belong to the same component of S a s S . Thus, a schedule S E S is semistable exactly if S represents an extreme point of a component of S . ( d ) Let 0 C O ( S ) be a feasible strict order, and let S be no extreme point of S T ( 0 ) . Due to the convexity of order polytope S T ( O ) ,there then is a line segment passing through S which belongs to S T ( O ) ,and thus by Lemma 3.2.8, schedule S is not pseudostable. If S is not pseudostable, then
212
Ch. 3. Minimization o f General Objective finctions
by Lemma 3.2.9 there is a line segment passing through S which belongs to S T ( 0 ) for some feasible strict order 0 & O(S). Consequently, S is no extreme point of ST(0). (e) There is no pair of opposite order-preserving shifts from feasible schedule S exactly if S is quasistable. Hence, there is no pair of different schedules S f ,S" E ST(O(S)) such that S = AS' + (1 - X)S1' with 0 < X < 1. In other words, schedule S E S is quasistable exactly if S represents an extreme point of schedule polytope ST(O(S)). (3.2.11) Example. We return to the project of Example 3.2.3 shown in Fig. 3.2.1 with a single resource with capacity R = 3 and 2 = 14. The S1- Sa section of the corresponding feasible region S is depicted in Fig. 3.2.3.
Figure 3.2.3: Feasible region S How to find the Sl - S2 section of the feasible region without constraint 5 14 has been shown in Example 2.4.5. We consider the five feasible schedules S, S1, S 2, S3, and S4 marked in Fig. 3.2.3. The corresponding Gantt charts are shown in Fig. 3.2.4. As can be seen from Fig. 3.2.3, S is (the unique) maximal point of S and hence represents an antiactive schedule. Being an extreme point of S,schedule S1 represents a stable schedule. Schedule S2 is semistable because S2 is an
3.2. Additional types of shifts and sets of schedules
213
extreme point of a component of S. Schedule S3 is a local extreme point of S and thus pseudostable. Schedule S4 does not represent a local extreme point of feasible region S. The Gantt chart of schedule S4 in Fig. 3.2.4, however, shows that activity 2 starts at the completion of activity 5. Since the completion time Cg = S5+p5 = 10 is fixed, activity 2 cannot be left-shifted without violating the precedence relationship given by (5,Z) E O(S 4). Furthermore, the temporal constraint Sz - Sl 2 -1 is binding for schedule S4. Hence, activities 1 and 2 can only be right-shifted simultaneously. Consequently, there is no pair of opposite order-preserving shifts for schedule S4. Thus, S4 is quasistable.
Figure 3.2.4: Gantt charts for schedules S, S', SZ,S3,and S4 Table 3.2.1 summarizes the results on the coincidence of special feasible schedules S and corresponding points of S. In addition it is indicated which shifts from the individual schedules S are not allowed (cf. Definitions 2.4.6, 3.2.5, and 3.2.6). Each order polytope has precisely one minimal point. Pseudoactive (or quasiactive) schedules are unique minimal points of order polytopes and thus represent vertices of these polytopes, that is, they are pseudostable (or quasistable) as well. A set M of feasible schedules which represents the union of order polytopes, however, may have more than one minimal point or maximal point S. In that case, minimal or maximal points S E M can lie on the line segment joining two other points of M, i.e., S is no extreme point of M. As a consequence, a feasible schedule which is active or antiactive need not be stable. Likewise, a semiactive schedule need not be semistable.
Ch. 3. Minimization of General Objective Functions
214
Table 3.2.1: Correspondence between shifts, schedule sets, and special points of feasible region S Feasible schedule S Shifts from S not allowed Active Global left-shifts Semiactive Local left-shifts Pseudoactive
Order-monotone left-shifts Order-preserving left-shifts Global right-shifts Opposite global shifts Opposite local shifts Opposite ordermonotone shifts Opposite orderpreserving shifts
Point of S corresponding to S Minimal point of S Minimal point of component of S Local minimal point of S Minimal point of ST(O(S)) Maximal point of S Extreme point of S Extreme point of component of S Local extreme point of S Extreme point of ST(O(S))
Legend: PI 7;
71
Figure 3.2.5: Project network and corresponding feasible region S for R = 3 (3.2.12) Example. Consider the project given by the AoN network shown in Fig. 3.2.5 with R = 3 and a = 7. The S1- St section of the corresponding feasible region S with the three minimal points S, S', and S" is also depicted in Fig. 3.2.5. Note that the start time of activity 3 is fixed once activity 1 is scheduled.
3.2. Additional types of shifts and sets of schedules
215
Since schedule S ties on the line segment joining S' and S", S is not an extreme point of S although S is a minimal point of S . The relationship between the individual sets of schedules is illustrated in Fig. 3.2.6.
sss -
&
&AS-PAS-S&
SS
Legend:
A -+ 17 means A > B Figure 3.2.6: Relationship between sets of schedules Since the number of strict orders in V is finite, there are finitely many distinct schedule polytopes S T ( O ( S ) )with S E S , and each such schedule polytope has a finite number of vertices. Since a schedule S is quasistable , have exactly if S is an extreme point of S T ( O ( S ) )we (3.2.13) Proposition. The set of quasistable schedules QSS and all of its subsets shown in Fig. 3.2.6 are finite.
TO illustrate set QSS and its subsets, we consider the following example.
(3.2.14) Example. We return to the project given by the AoN network N depicted in Fig. 3.2.1 and a single resource with capacity R = 3. Fig. 3.2.7 shows the S1-S2 section of feasible region S and the projections S' to SZ2of all quasistable schedules onto this Sl - S2 section. The points S', . . . , SZ2represent all pairs ( S l ,S2) for which S = (0,S l , S2,0,4, is a quasistable schedule for some S,+' (cf. Subsection 2.3.1). Each of the points S 1 , . . . , Sls represents two quasistable and 3" with -3i+l= maxicp,d(,+~) (3: schedules: first schedule second schedule S! with St+, = d, p = 1,...,18. For p = 19, 20, and 21, schedules 3'"and 3" coincide. For p = 22, schedule 9is not quasistable. For the schedules which correspond to minimal points, we obtain the sets AS = { z l , F ) , S& = AS U {Ss},PAS = S A S U {315},and QAS = PAS U {53,35,311,S16,F7,S20}. The set of antiactive schedules, i.e. maximum points of S , equals (7:). The sets of schedules which correspond F,S5,S5,S19,SZ0,S2l, S22}LSSS= to extremepointsare SS-= {S1,S1,F, 3s u {S 4 ,S 4 , F,F,S8,3 8 , S 9 L S 9 , 91\Sl1} P S S = sss u {9139 1 3 z15, 915) and QSS = p ~ us(ip 9 3 -6 -6 Sld 3 1 0 9 1 2 F2 3 1 4 ~ 1 4 ' ~ 1 6 ' ~ 6 > I S > s ! I 1 I i - L
+
as I
517 9 1 7 3 1 8 T I 8
1
.
1
7
216
Ch. 3. Minimization of General 0b.jective hnctions
Figure 3.2.7: Feasible region S
(3.2.15) Remark. For problem PScoltemp,dl f without resource constraints, i.e., SR = IR:i2 and S = ST,all previous considerations to ~Sltemp,dlfremain valid because PSmltemp, dl f can be regarded as a special case of PS(temp,dlf where all resource capacities axe unlimited. Since for ~Sooltemp,alf , set S represents a polytope, we have AS = SAS = PAS and SS = SSS = PSS. Next, we show how quasiactive a n d quasistable schedules S can be represented by spanning trees of the corresponding schedule networks N ( O ( S ) ) .Recall that a weakly connected directed graph with m nodes and m - 1 arcs is said to be a tree and a collection of trees is termed a forest. A tree T with node set Vl and arc set E l , in short T = (Vl,E l ) , is called a (directed) outtree rooted at node i if each path in the tree with endnodes i and j E Vl \ { a ) is a directed path from i to j . Similarly, a tree T = (h, El) is said to be a (directed) intree rooted at node i if each path in the tree with endnodes i and j E Vl \ { a ) is a directed path from j to i. Furthermore, a tree T = (Vl,E l ) is called a spanning tree of a directed graph with node set Vz and arc set E2 if Vl = V2 and El C Ez. The concepts of a spanning outtree and a spanning forest are defined analogously. Now let us return to project network N. Each schedule S E ST can be associated with a weighted spanning forest of N where each arc of the forest
3.2. Additional types of shifts and sets of schedules
217
represents a binding temporal constraint S j - Si 2 bij. As it is well-known from network optimization, for each vertex S of S T , there are n 1 linearly independent binding temporal constraints S j - Si 2 bij that correspond to n + 1 arcs of a weighted spanning tree of N and vice versa (cf. Ahuja, 1993, Sect. 11.2). Hence, we obtain
+
(3.2.16) Proposition. Given a project with project network N. Each vertex S of time-feasible region STcorresponds to a weighted spanning tree G = (V,EG;b G ) of project network N with node set V, arc set E G , and arc weights 6: such that S uniquely solves the system of linear equations So = 0, S j - Si = 6 s ((i,j) E E G ). If schedule S represents a minimal point of ST, G can be chosen t o be a weighted spanning outtree of N rooted a t node 0.
Note that each weighted spanning tree of N represents a unique vertex of ST, whereas a vertex S can be represented by several different weighted spanning trees of N if more than n + 1 temporal constraints are binding a t S . In the latter case, S is called a degenerate schedule. To illustrate the relationship between vertices of STand weighted spanning trees of N, we consider the following example. (3.2.17) Example.
Fig. 3.2.8 shows a project network with one real activity and the corresponding timefeasible region STwith three vertices S' = (0,1,3), S Z = (0,1,5), and S 3 = (0,3,5). For schedule S 1 ,we have the (linearly independent) binding constraints S , -So 2 1 and SZ-Sl 2 2. Consequently, the corresponding weighted spanning tree contains arcs (0,l) and (1,2). For schedule S 2 , the corresponding spanning tree possesses arcs ( 0 , l ) and (2,O) and for schedule S 3 , arcs (1,2) and (2,0) (cf. Fig. 3.2.9).
S" 0
-5
2
Legend: PI
Sl 2
4
Figure 3.2.8: Project network N and corresponding timefeasible region ST
218
Ch. 3. Minimization of General Objective Functions
Figure 3.2.9: Spanning trees of project network N corresponding to schedules S1,S 2 , and S 3 Now recall that the schedule polytope S T ( O ( S ) )coincides with the set of all time-feasible schedules represented by schedule network N ( O ( S ) ) ,see Definition 2.3.5. Moreover, each quasistable schedule S represents a vertex of schedule polytope S T ( O ( S ) ) 6. , Theorem 3.2.10e. Thus, we obtain
(3.2.18)Theorem. A feasible schedule S is quasistable if and only if there is a weighted spanning tree G = (V, E G;G G) of schedule network N ( O ( S ) ) such that S uniquely solves the system of linear equations So = 0, Sj - Si = :6 ((i, j ) E EC). If S is quasiactive, G can be chosen to be a weighted spanning outtree of N ( O ( S ) )with root 0. Note that 6; = Jij if arc (i, j) E Ec represents a temporal constraint, and 6: = pi, otherwise (cf. Definition 2.3.2).
3.3
Classification of objective functions
In this section, we classify regular and nonregular objective functions f : IR:i2 _t W for problem PSltemp,dlf . In particular, we show that each of the objective functions discussed in Section 3.1 belongs to one of seven different classes to be introduced. Moreover, for each class of functions f , we present a finite set of schedules that contains an optimal schedule for PSltemp,dl f provided that S # I. Heuristic procedures often schedule the activities successively, that is, given a partial schedule S C = (Si)i,c with C C V, in each iteration, a single activity j* E := V \ C is selected and assigned a start time S,. (compare the serial schedule generation scheme discussed in Subsection 2.6.4). In Sections 2.6 and 2.10, where regular objective functions are treated, activity j* is scheduled as early as possible observing the given temporal and resource constraints. Since in general, the latter proceeding is not suitable for nonregular objective functions, we also show in this section how to find so-called "decision sets". Given partial schedule S C , these decision sets contain "locally optimaln start times S,. (j' E for certain objective functions f , which can be used within heuristic methods for PSltemp,;il f .
c)
3.3. Classification of objective functions
219
Separable and resource-utilization dependent objective functions
3.3.1
If we want to schedule the activities of a project successively, we have to be able to evaluate objective function f for any given partial schedule SC (C C V ) . This can be done for a separable function f , that is, f has the form
where we define
can also be replaced by njEv, mini,", or
maxi,^.
In this case,
f (9):= C fi(si) iEC
If function f has the form (3.3.1), f is also called sum-separable, and for f ( S ) = m a x i ~ vfi(Si), f is called max-separable. Moreover, we can evaluate objective function f for any given partial schedule SC if f is a function of the resource utilization. Let for k E R and 0 t 5 2, r k ( S Ct,) be again the amount of resource k used at time t given partial schedule S C (cf. (2.6.3)) and DT C be the set of all start and completion times Sj and Ci = Si + pi, respectively, of activities i E C. In order to determine the resource profiles rb(SC,.), we only need the resource utilization for k E R and all decision times t E DTC (cf. Section 2.6). The IRI x ~ D T Cmatrix ~ R ( S C ) with elements rk(SC,t),where k E R and C t E DT , is called the resource utilization matrix of partial schedule S C . Each column of R ( S C ) represents the resource utilization at the corresponding decision time for the resources k E R. Function f is termed a resourceutilization dependent objective function or briefly r-dependent function if f can be written as f =F(R(S)) (3.3.2) C where again R ( S ) = R ( S ) for C = V . In this case, we define
<
(s)
Interpreting objective function f as a cost function depending on partial schedule S C , let for given S C
be the additional cost arising when activity j E objective function f is sum-separable, then
is scheduled at time S,. If
For a maxseparable objective function f , we have
Ch.3. Minimization of General Objective hnctions
220
If objective function f is r-dependent and thus f (SC)= F(R(S')),
we have
%call that given a partial schedule SC = (Si)iEc, the (updated) earliest and latest start times for activities j E not yet scheduled can be computed as follows:
Es? = max [do,, max(Si + dij)] r€C Ls: = min [-djo,min(S, - dji)] zEc
(3.3.6)
(cf. (2.6.2)). Given partial schedule SC, the time interval :=
(j E T)
[ES;, LS;]
(3.3.7)
is also called the time window for activity j E C. If in addition to the temporal constraints we observe the resource constraints, we obtain for each activity j E ??,the domain of feasible start times -
: = { t E v I r k ( S C , ~ ) + r j k5
Rkfor a l l t s <~t + p j and k E R ) (3.3.8)
called the time domain of activity j given partial schedule S C . Note that in general, time domain 7; does not represent a connected set but a (finite) = [tl, t2]U [t3, t4]U [t5,t6]. union of closed intervals, see Fig. 3.3.1, where
-
I
0
tl
t2
t3
Legend:
-
t4
ts
t
t6
Set
Figure 3.3.1: Example of set 7;
A heuristic approach to approximately solving PSltemp,;ilf in case of separable or r-dependent functions f consists of successively finding a minimizer S$ of additional-cost function f a (S c , j', .) on time domain for activity j' chosen. A modification of this approach is t o compute a minimizer of function f"(Sc, j * , .) on at first and to take account of the resource constraints in a subsequent "repair step". In this way, beginning with Sof := 0 and C := {0), we can determine feasible start times ST of activities j E V one after the other. Thus, we eventually obtain a feasible schedule S+ = (S:)jEv. Note that as for the priority-rule methods for PSltemplC,, discussed in Section 2.6, such a heuristic procedure does not necessarily provide a feasible schedule even if S # 0. To simplify the notation in the following Subsections 3.3.2 to 3.3.8, we guarantee that 0 # by establishing the following assumption.
T.
(3.3.1) Remark. We assume that, for given feasible partial schedule SC = (Si)iEc,there always exists a feasible schedule S+ = (S:)iEv with S: = Si for all i E C.
3.3. Classification of objective functions
221
We will see in Section 3.7 that if 7:. = 0 for some'activity j*chosen, the [ some "repair" steps. heuristic solution methods for ~ ~ l t e r n i ,f; irequire We want to develop heuristic procedures with polynomial time complexity for all seven classes of objective functions f considered in what follows provided that the underlying objective function f is (sum-)separable or rdependent. For each class u = 1,. . . , 7 of objective functions, we introduce special decision sets "V:. and "D;* for activity jtt o be scheduled next, whose cardinality is linear in IV(. Sets "VT.and "B, contain a t least one minimizer of additional-cost function fa(S c , j*,.) of objective function f from class u on 7;: and 7 :. , respectively (i.e. a "locally optimal" start time with respect to f ) . As mentioned at the beginning of this section, for each class u of objective functions f , we will determine a finite set of schedules S" which contains an optimal schedule for ~ S ( t e r n ~ ,f;.i l As we will see in what follows, if for given feasible partial schedule SC, we always choose S; to be a minimizer of additional-cost function f'"(SC, j*,.) on "B$, we eventually obtain a feasible schedule S+= which belongs to set SY (u = I , .. . ,7).
Class 1 of regular objective functions Recall that an objective function f : IR?i2+ R is said to be regular if f is nondecreasing, that is, S 5 S' implies f (S) 5 f (S')for all S, S' E RY$~. For example, objective functions C,, L, C w ~ F ,and , C WFT, from sec3.3.2
tion 3.1 are regular and separable. The additional-cost functions fa(Sc, j, .) for these objective functions f are shown in Table 3.3.1.
Table 3.3.1: Additional-cost functions fa for objective functions f of class 1
LmB.
cW
0, otherwise [Sj p j - dj - max(S,
+
~ Ew F (S j + pj
%EC
+ pi - di)]'
- rj)
w T ~W?(S, + p, - dj)+
If there is a global left-shift from S to S' and thus Sf 2 S, then f (St)5 f (S) for each regular function f . Since schedule S E S is active exactly if there is no global left-shift from S, for class 1 of regular objective functions f , there is always an active schedule which is optimal for PSI temp, ;ilf provided that S # 0. For a nonempty compact subset M of R20, let min M or m a x M be the smallest element or greatest element, respectively, of M. If regular objective function f is sum-separable, then the additional-cost function f"(Sc, j,.) = fi(.), cf. (3.3.3), or fa(S C , j , .) = [fj(.)- f (SC)]+,cf. (3.3.4), is nondecreasing
222
Ch. 3. Minimization of General Objective finctions
for all j E C. Hence, E S f and m i n 7 represent a minimizer of function f"(S c , j , .) on and 7:, respectively. Thus, we obtain for the decision sets "D,. and of the class of sum-separable regular objective functions
By analogous reasoning, for regular objective functions which are maxseparable, e.g. L, we obtain the same decision sets. If for given feasible partial schedule S C = (S$)iEc,we choose S$ := minT$, there is either at least one activity i E C with Si dij- = S$ or for all t E [ E S T ,S$[ it holds that max,Gp,pi[rk(SC, t T) > RE and thus S, +pi = S; for a t least one activity i E C. Hence, for the feasible schedule S = (S;)jGv obtained by successively minimizing additional-cost function f"(Sc,j*;) on D '' ,.; there is no global left-shift from S+, i.e., schedule S+ is active.
+
+
f
3.3.3
Class 2 of antiregular objective functions
Recall that an objective function f : IRY;~ 4 IR is said to be antiregular if f is nonincreasing, that is, S 5 S' implies f ( S ) 2 f ( S 1 )for all S, S' E IIB:~. Objective function C w S j from Section 3.1 is antiregular and sumseparable. The additional-cost function for objective function C WEE, is given by f" ( S C ,j, S j ) = w,E(d, - pi - Si)+. If there is a global right-shift from S to S f and thus S' 2 S, then f (5'') 5 f ( S ) for each antiregular function f . Since schedule S E S is antiactive exactly if there is no global right-shift from S , for class 2 of antiregular objective functions f , there is always an antiactive schedule which is optimal for PSltemp,;il f if S # 0. If antiregular objective function f is sum-separable, then additiondcost function f"(S c ,j, .) = f j ( . ) is nonincreasing. Thus, LS: and max7: represent a minimizer of function f"(sc, j,.) on and 7:, respectively. Hence, the decision sets for sum-separable objective functions of class 2 are
5'
The same reasoning as for regular objective functions provides the following statement: If we schedule each activity j* at time S; := rnaxT., i.e. a minimizer of function f"(SC,j*, .) on 2D:. , the resulting feasible schedule S+ is antiactive.
3.3. Classification of objective functions
3.3.4
223
Class 3 of convex objective functions
In this section, we assume that objective function f : IR?i2 _t I R is convex and continuous. It is well-known that function f is called convex exactly if
+
f (AS (1- X)Si) 5 X f (S)
+ (1- A) f (St)
for all S, S E f
-
and A E [O,1]
For example, objective function C WEE< + WTT, from Section 3.1 is convex, continuous, and sum-separable. The corresponding additional-cost function is given by fa(S c,j, Sj) = w$(dj - pj - Sj)+ + wT(Sj pj - dj)+. For E > 0, let N,(S) := {St E I K;i2 1 [IS'- Sll < E ) be again the Eneighborhood of S E':$X (cf. section 2.4). Recall that schedule S E ST is said to be a local minimizer of function f on ST if there exists an E > 0 such that f (S) 5 f (S') for all S E ST n N,(S). Note that each local minimizer of a convex function is also a global minimizer. For a feasible strict order 0 in V, let S ( 0 ) be the local minimizer of continuous convex function f on order polytope ST(0) found by using some solution method of convex optimization (cf. e.g. Hiriart-Urruty and LemarBchal, 1993b, or Nesterov and Nemirovskii, 1994). Schedule S ( 0 ) is called locally orderoptimal with respect to strict order 0. Let LOS := {S(O) ( 0 € 0 ) be the set of locally order-optimal schedules S ( 0 ) belonging to inclusionminimal feasible strict orders 0 E 0. Then by Theorem 2.3.7, each schedule S* E L U S with f ( S ) = mins,ras f ( S ) is optimal. In other words, there is always a locally order-optimal schedule which is optimal for PSltemp,dl f provided that S # 0. The latter property also holds for the more general class of so-called conve$iable objective functions introduced by Schwindt (2002, Sect. 2.3). An objective function is termed convexifiable if there exists a smooth (i.e. continuously differentiable) coordinate transformation such that in the new coordinate system, the objective function is convex and all order polytopes are still convex sets. Iff is convex and sum-separable, then additional-cost function f &(SC, j , .) = fj(.) is convex as well. Let ST be the smallest minimizer of f j on R2,. For objective function C wEEi + wTTi, we have S: = d, - pj if wf > 0 and > 0. For j E V, let t: := min{t E I t > Sf} and ty := max{t E I t < ST). Then
+
f
WT
if s; E if SF < min : > max if S
3
, otherwise
(case 1) (case 2) (case 3) (case 4)
is a minimizer of fa(Sc, j, .) = f,(.) on 7;. Since in all four cases, ST corresponds to the earliest point in time t E equal to or greater than ST
Ch. 3. Minimization of General Objective Functions
224
or to the latest point in time t E 7; equal to or less than S;, we obtain the following decision sets for sum-separable objective functions of class 3:
7;f
{ESf*,L S : ) ,
if S ; E otherwise
Fig. 3.3.2 illustrates the four cases of minimizer S: Case 2
Case 4
I
Case 1
1
I
0
-
-
Legend:
-
Cwe 3
-
-4
-
t
Set
Figure 3.3.2: Cases 1 to 4 of minimizer
ST
For a schedule S+ which is computed by successively minimizing function f"(Sc, j * , .) on 3D$, it holds that S$ = Sr for at least one i E V or S+ represents a local extreme point of S.
3.3.5
Class 4 of binary-monotone objective functions
We first introduce the concept of a binary-monotone objective function.
(3.3.2) Definition. A (half-)line I(S,z)={S'EI[gn,2~S'=S+Xz,XER) -
(3.3.9)
in ' ; : P with direction z passing through point S is said to have binary direction if z E (0,l)n+z. Objective function f : E$Z2 -t P is called binarymonotone if f is monotone (i.e. either nondecrea2ng or nonincreasing) on each (half-)line in P">z2 - with binary direction. Objective function - CcfPC' from Section 3.1 is binary-monotone and sum-separable. The binary monotonicity of objective function - C cfBC; can be shown as follows. For a continuously differentiable function f , the directional derivative of f at point S'in direction z is given by
cf,BS;+~;.Thus, For objective function - C crPCi,we have f (S) = - CiEV it holds that for S' = S + Xz with X E I[$ and z E (0,lIn+=
3.3. Clasification of objective functions
225
Since
we obtain
That is, f is monotone on each (half-)line in R:g2 with binary direction I. Moreover, Scbwindt (2002, Sect. 2.3) has shown that function - CC:,~~. is also convexifiable. The additional-cost function for objective function - C cFbC. is given by f"(SC,j, S,) := -c;b%+pj. Now consider a pair of opposite uniform global shifts from S to S' and S", respectively. Then S lies on the line segment that joins S and S and has binary direction, and for each binary-monotone function f it holds that f (S) min[f (S t ),f (S" )]. Therefore, for class 4 of binary-monotone objective functions f , there is always an optimal schedule for which no pair of opposite uniform global shifts and hence no pair of opposite uniform ordermonotone shifts exists if S # @. By Lemma 3.2.4, the pair of opposite order-monotone shifts from S to S and St', respectively, need not be uniform. Recall that a schedule S E S is pseudostable exactly if there is no pair of opposite order-monotone shifts from S. Hence, for class 4 of binarymonotone objective functions f , there is always a pseudostable schedule which is optimal for PSltemp,dl f provided that S # 0. Let f be a sum-separable binary-monotone function. Then in particular, ( j E V), which has binary f is monotone on the nonnegative Sj-axis in direction. Thus, additional-cost function f" (S c , j, .) = f j ( . ) is monotone on R>o and especially on sets and This gives the following decision sets for sum-separable objective functions of class 4: f
ff
>
f
T.
Recall that a feasible schedule S is stable exactly if there is no pair of opposite global shifts from S. If for the scheduling of activity j* we always choose a start time S; E 4g;., activity j*is scheduled a t its earliest or latest possible start time, that is, schedule S+ is stable and thus pseudostable as well.
3.3.6 Function f (AS
Class 5 of quasiconcave objective functions f : - -+ R is called quasiconcave if
+ (1 - A)Sr) 2 min[f (S),f (S')]
for all S, S' E '$;%E
and X E [0, 11
(cf. Schaible, 1990). In other words, f attains its minimum on a line segment L' at one of the endpoints of e (cf. Fig. 3.3.3).
226
Ch. 3. Minimization o f General Objective Functions
Figure 3.3.3: Quasiconcave function
For example, objective functions C viSi and - C C wijlSj - Stl from Section 3.1 are quasiconcave. Note that function C viSi is continuous and convex and hence belongs to class 3 of convex objective functions as well. The qua, siconcavity of function - C CwijlS, - SiI can be shown as follows. Since ISj - SiI is convex and a nonnegative linear combination of convex functions is convex, too (cf. Schaible, 1990), - CCwiilSj - SiI is concave and thus quasiconcave. Note that objective function - C Cw<juijlSj - SjI is not separable. The additional-cost function for sum-separable objective function C viSi is given by f"(SC, j, S,) = viS, Consider a pair of opposite global shifts from S to S' and Sf', respectively. Then S lies on the lime segment that joins S and S" and f ( S ) 2 min[f (S), f(Sfl)] for each quasiconcave function f . Recall that schedule S is stable exactly if there is no pair of opposite global shifts from S. Thus, for class 5 of quasiconcave objective functions f , there is always a stable schedule which is optimal if S # 0. If quasiconcave function f is sum-separable, then the corresponding additional-cost function f"(Sc, j, .) is quasiconcave as well. As a consequence, we obtain f"(sC, j , t )
2 min[f"(sC, j , m i n T ) , fa(#, j , m a x T ) ] for all t E
v.
and the analogous inequality with 7: replaced by This gives the same decision sets for sum-separable objective functions of class 5 as for class 4:
By the same reasoning as for sum-separable binary-monotone objective functions, we see that a schedule S+ computed by successively minimizing function fa(Sc, j*,.) on 5p$.is stable.
227
3.3. Classification of objective functions
3.3.7
Class 6 of locally regular objective functions
The objective functions of class 6 are not necessarily continuous. To guarantee the existence of a minimizer of such a function on S, we need the concept of a lower semicontinuous function. It is well-known that if M C RY': is compact and f is lower semicontinuous on M, then f attains its minimum on M (cf. Horst et al., 2000, Sect. 1.2). First, recall (3.3.3) Definition.
A function f : 'R :; 4 R is said to be lower semicontinuous if for all S E ,R ':: f ( S ) 5 liminfs,+s f ( S ) . Note that function f is lower semicontinuous exactly if for every schedule S E R$': and any 6 > 0, there is an E > 0 such that f ( S )- 6 < f ( S ) for all S E' :R:- f l N,(S), cf. Fig. 3.3.4. f
f
f
Figure 3.3.4: Lower semicontinuous function In what follows, we have to consider distinct schedules which generate the same precedence constraints and thus induce the same strict order. For this, we define
called the equal-order set of schedule S . Set S F ( O ( S ) ) represents a polytope possibly without ( a part of) its boundary. Since O ( S 1 ) O ( S ) for all S E S r ( O ( S ) ) ,O ( S ) 2 O ( S ) holds ) To illustrate the shape of equal-order sets for all S f E S T ( O ( S )\SF(O(S)). S,'(O(S)), we consider the following example.
>
f
f
228
Ch. 3. Minimization of General Objective Fhnctions
Legend:
Figure 3.3.5: Project network with a single resource (3.3.4)Example. We return to the project of Examples 2.3.8 and 2.3.12 given by Fig. 3.3.5, where we choose R = 2 and a = 9. Fig. 3.3.6 shows the S1 - 5'2 section of the corresponding feasible region (compare Fig. 2.3.6) and three feasible schedules S 1 , S Z ,and S 3 . Schedule S' = (0,2,1,0,4,5) induces strict order 0 ( S 1 )= tr{(O,3 ) , (1,4),(2,4),(3,I ) , (3,2),( 4 , 5 ) )with corresponding schedule polytope S T ( O ( S 1 ) )depicted in Fig. 3.3.6. Since strict order O ( S 1 )is an inclusion-maximal feasible strict order, each schedule S E S T ( O ( S ' ) )induces ) ST(O(S~)) the same strict order as schedule S1. Thus, we have S F ( O ( S 1 ) = (see Fig. 3.3.7).
Legend:
Figure 3.3.6: Feasible region S and some schedule polytopes The strict order O ( S 2 ) = tr((0,I ) ,(0,3),(1,4), (2,4),(3,2),(4,5)) induced by schedule S Z = (0,0,1,0,4,5) forms a proper subset of strict order O ( S 1 ) .Hence S T ( O ( S ' ) ) ST(O(S')).Since strict orders O ( S 1 ) and O ( S 2 ) differ in exactly one precedence relationship, it holds that S F ( O ( S 2 ) )= ST(O(S'))\ S T ( O ( S ~ )see ) , Fig. 3.3.7, where the endpoint of line segment S F ( O ( S Z ) marked ) by the circle does not belong t o S,'(0(S2)). Finally,
3.3. Classification of objective functions
229
Sa A
7 --
Legend:
6 -5
a: % ( 0 ( S 1 ) ) 0 :S,=(0(S2))
--
Q: S,'(O(S")
...-...-
Cide'
1
2
3
4
5
6
7
-
S1
Figure 3.3.7: Set S and some equal-order sets we consider schedule S3 = (0,1.5,2.5,0,4,6) with 0 ( S 3 ) = tr{(0,3), (1,4), (2,5),(3, I),(3,2), (4,5)). Again, 0 ( s 3 ) forms a proper subset of O(S1) and differs from O(S 1 ) in exactly one precedence relationship, i.e., S,'(O(S3)) = S,(0(S3)) \ ST(O(S')). The corresponding sets ST(O(S3)) and q O ( S 3 ) ) are shown in Figs. 3.3.6 and 3.3.7, respectively, where the dashed line in Fig. 3.3.7 indicates that the corresponding edge does not belong to s;(0(s3)). Since S E SF(O(S)) for each S E S , it holds that
s=
u S,=(O(S)) SES
Note that there are only finitely many different strict orders O(S), and thus (3.3.11) says that the feasible region S is the union of a finite number of disjoint sets SF(O(S)). In other words, the distinct equal-order sets SF(O(S)), S E S, represent a finite partition of S . Now we prove that objective function Cckmaxrkt from Section 3.1 is constant (and thus regular) on equal-order sets and lower semicontinuous on "R :;
(3.3.5)Proposition. For each S E S, objective function C c k m a x r k tis constant on equal-order set S;(O(S)). Proof. Let S E S and S', S" E SF(O(S)) be two schedules inducing strict order O(S). Then for each t' E [O,q,there is a t " E [O,q such that A(S1,t') = A(S", t"). Thus, for each k E R,r n a ~ , , ~ ~ < ~ rt)~ (=Smq
230
Ch. 3. Minimization of General Objective Functions
(3.3.6) Proposition. Objective function C ck maxrkt is lower semicontinuous.
Proof. Due to Proposition 3.3.5, function C ck m a r k t is constant on each l i e segment joining two schedules which induce the same strict order. If function f given by C ck m a r k t is not continuous at schedule S, there is an E > 0 such that O(S1) O(S) for all S E N,(S). To prove that f is lower semicontinuous, it is sufficient to show that f ( S ) I f(S1). All activities which overlap in time with respect to schedule S overlap with respect to schedule S' as well. For each t E [O,q, there is a point in time t' E [O,q with A(S, t) A(S1,t') and thus rk(S,t ) 5 rk(Sr,t') for each k E R . Since ck 2 0 (k E R ) , we obtain
c
That is, objective function
C ck m a r k t is lower semicontinuous.
Next, we introduce the concept of a locally regular objective function. (3.3.7) Definition. Function f : IR:g2 + R is called locally regular if f is lower semicontinuous on JR$;' and re-gular on equal-order set SF(O(S)) for each S E S .
For example, by Propositions 3.3.5 and 3.3.6 resource investment objective function C ck m a r k t is locally regular. Moreover, function C ck max r k t is r-dependent. Since rnax
S,
rk(sCU{j}, T) =
rnax
Sj
rk(SC, T )
+rjk
(k E R )
(3.3.5) yields for the additional-cost function of C ck m u r k t
We now turn to changeover time objective function C C flijaij introduced in Section 3.1. In this case, we define an equal-order set to be a set of schedules which for given k E R , induce the same strict order @(S), i.e., s;(bl(s), . .. , blRl(s)) := {s'E sTI a k ( s ' ) . = a k ( s ) for all k E R} Recall that for given schedule S and resource k E R, a time-optimal flow ak can be computed by solving the minimum-cost flow problem in network G k induced by strict order Ok(S) (cf. Section 3.1). Obviously, for each schedule S' E s;(~'(s), . . . , dlnl(s)) and each resource k E R,the corresponding instance of the minimum-cost flow problem coincides with
231
3.3. CJassification of objective functions
the instance belonging to S and k. Hence, for each time- and changeoverfeasible schedule S , function C C d i j a i j is constant (and thus regular) on equal-order set S F ( ~ ~ (.S. .), ~, I ~ I ( s ) ) . Moreover, if we add further arcs t o network Gkwhich correspond to additional precedence constraints of type S j 2 Si +pi 6fj, the sum of changeover times for a corresponding timeoptimal flow does not increase. Thus, f ( S ) 5 f ( S ' ) holds for all schedules S with d k ( s ' )E d k ( s )for all k E 72. Hence, function CC.Sij@ij is lower semicontinuous and we have shown
+
f
(3.3.8) Proposition. Objective function C CdijiPiiis locally regular. Note that function C C dijO,. is not r-dependent and not sum-separable, either. In Neumann et al. (2003) and Zimrnermann (2001, Sect. 2.3), globally order-decreasing and order-regular objective functions have been introduced. Objective function f is said to be globally order-decreasing if for each schedule S, f ( S ) 5 f ( S f )holds for all schedules S' with O ( S 1 ) O ( S ) . This means that the value of f does not increase when adding precedence constraints among activities. From the proofs of Propositions 3.3.6 and 3.3.8 it can be seen that functions C ck max rkt and C C .Sijaijare globally orderdecreasing as well. Objective function f is called order-regular iff is globally order-decreasing and f is regular on equal-order set S F ( O ( S ) )for each S E S . For orderregular objective functions there is always an optimal schedule that represents a minimal point of an order polytope S T ( 0 ) with inclusion-maximal strict order 0 provided that S 0. The class of order-regular objective functions and class F4 introduced in Neumann et al. (2000) are proper subsets of class 6 of locally regular objective functions. The main result for class 6 of locally regular objective functions is
+
(3.3.9) Theorem. For a locally regular function f , there always exists a quasiactive schedule which is optimal for PSItemp, 21f provided that S f 0. Proof. Let f be a locally regular function. Since f is lower semicontinuous, there is a feasible schedule that minimizes f on S if S # 0. Now consider , is, two different schedules S, S' E S with S 2 S' and O ( S ) & O ( S 1 ) that there exists an order-preserving left-shift from S to S'. If S , S E S F ( O ( S ) ) , i.e., O ( S ) = O ( S ) , then f ( S ' ) 5 f ( S ) because f is regular on S?(O(S)). If O ( S ) c O(S') and thus S' E S T ( O ( S ) )\ S F ( O ( S ) ) then , f(S ) 5 f (S) because f is lower semicontinuous and regular on S F ( O ( S ) )and SF ( O ( S f ) ) . Hence, the value of objective function f does not increase if we perform any order-preserving left-shift from S. As a consequence, there is always a quasiactive schedule (that does not allow any order-preserving shift) that is optimal for PSltemp,al f if S # 0. f
f
f
Ch. 3. Minimization of General Objective finctions
232
Recall that PScaltemp, dl f is a special case of PSItemp, dlf . Thus, for locally regular objective functions f , there is also a quasiactive schedule which is optimal for ~ ~ o o l t e m p , d l f . Now let f be an r-dependent locally regular function, that is, f (S) = F ( R ( S ) ) , and let SC be a given partial schedule with C C V. Then function f is lower semicontinuous and regular on the set of all partial schedules inducing the same strict order as partial schedule SC. Consequently, the corresponding additional cost function given by f"(SC, j, Sj) = f (ScU{j))- f (S C ) is nondecreasing on each interval of start times Sj for which the corresponding schedules sCu{j) induce the same strict order for all j E Let O(SC):= {(i, j ) E C x C I i # j, Sj 2 S; be the strict order which corresponds to the precedence constraints induced by partial schedule S C . Then f "(Sc, j , t ) 5 J"(SC, j, t') if 0(scu{3)) o(.?~~{J}),where partial schedule ~ ~ " {results j } from partial schedule SC by setting S, := t and .?cU{3} results from SC by setting Sf := t'. For partial schedule SC, let t , t' E CT C be two consecutive completion times of activities from C and 7 1 , ~E ~[ t , t t [be two points in time with 7 1 < TZ. Moreover, let ~ ~ ~be{ the j } corresponding partial schedule with Sj = TI and SCU{j) be the corresponding partial schedule with 5'3 = T% Then we have 0(scU{j}) O(Scu{j})and consequently f "(SC,j , TI) 5 f "(SC,j, TZ), i.e., f"(Sc, j , .) is nondecreasing on [t,tl[. Thus, in addition to m i n T , only points in time t E at which a t least one activity i E C is terminated can represent minimizers of f"(Sc, j,.) on 7 Since this reasoning also applies 3 '. to the case of ST instead of S, we o b t a n the following decision sets for r-dependent objective functions of class 6:
c.
>
>
If we choose the start time Sj. of each activity j* to be an element of then for each j E V \ {O), there is an activity i E V such that set Sj = Si bij (i.e., activity j is scheduled as early a s possible) or Sj = Si +pi (i.e., activity j is scheduled a t the completion time of activity i). Thus, there is no order-preserving left-shift from the schedule S constructed in that way, that is, schedule S is quasiactive. Obviously, the same holds true for that schedule S = S+ for which the start time of activity j*always represents a minimizer of f" (Sc, j*, .) on 6V$..
6T., +
3.3.8
Class 7 of locally quasiconcave objective functions
The objective functions of class 7 are not necessarily continuous, either. TO guarantee the existence of a minimizer of such a function on S, we again use the concept of lower semicontinuous functions. Objective functions C ck C ri,
3.3. Classification of objective functions
233
and C CI, C okt from Section 3.1 are continuous and hence lower semicontinuous as well. For the remaining resource levelling and resource renting objective functions from Section 3.1, we prove
(3.3.10) Proposition. Objective functions C C c:A+rkt lower sernicontinuous.
+ c; A-rkl and C C cipkt +
are
Proof. Let S E R;:~ and let P ( S ):= {(d, j ) E V x V I i # j, Si +pi = S j ) be the set of all pairsli, j ) E V x V with S, +pi = S j . Then for all h, 1 E V with h # 1 and ( h , l ) 4 P ( S ) , we have either Sh ph < Sl or Sh ph > Sl. This means that there is an E > 0 such that P ( S t ) P ( S ) for all schedules S E N,(S). First, we consider objective function C c:A+rkt c;A-rk,, which is discontinuous on segments joining schedules S and S' with P ( S t )C P ( S ) . If function f given by C C czA+rkt+ c;A-rkt is not continuous at schedule S , there is an E > 0 such that P ( S f ) P ( S ) for all S E N,(S). To prove that f is lower semicontinuous, it is sufficient to show that f ( S ) f ( S t ) . Without loss of generality, we restrict ourselves to the case c; = c: = 1 for all k E 72. Hence, f reads as
+ +
+
<
f(s)=
Irk(S>t)- rk(S,01)1 + rk(S,O) LE'R t€DT\{O)
where CiGO rib := 0. The latter equation remains unchanged if we replace "i E V : Ci = t" by "i E V : Ci= t and there is some j E V with ( i , j) CE P(S)" and analogously " j E V : Si = t" by " j E V : Sj = t and there is some i E V with ( i ,j ) E P ( S ) " . It then follows that f (S') 2 f ( S ) if P ( S 1 ) P ( S ) . For all schedules S t E N,(S), we have P(S1)C_ P ( S )and thus f ( S ' ) 2 f ( S ) . This means that C C c:A+rkt c;A-rkt is lower semicontinuous. The reasoning is analogous for objective function C C c;I,pkt cLA+pkt.
+
+
Next, we introduce the concept of a locally quasiconcave function.
(3.3.11) Definition. Function f : ~ -7 :+~B is called locally quasiconcave if f is lower semicontinuous on B?'d2 and quasiconcave on equal-order set S;(O(S)) for each S E S. Since regular (i.e. nondecreasing) functions are quasiconcave, any locally regular function is locally quasiconcave as well. The following statement, which is proved in Zimmermann (2001,Sect. 2.3) for resource levelling functions, ensures that all resource levelling objective functions presented in Section 3.1 as well as the objective function of the resource renting problem are locally quasiconcave. The proof for the resource renting objective function can be found in Niibel (2001).
234
Ch. 3. Minimization of General Objective finctions
(3.3.12) Proposition. For each S E S, objective functions C ck C rit, C ck C okt, C C c:A+rkt +cia-rkt, and C C C ~ ( P L ~ c$l+pkt are quasiconcave on equal-order set S,=(O(S)).
+
By Propositions 3.3.10 and 3.3.12, the functions C ck C rit, C ck C okt, C C c:Afrkt ckA-rkt, and C C C ; ( P ~ ~ c { A + ~are~ locally ~ quasiconcave. Moreover, these functions are r-dependent. The additional-cost functions c f a (S , j, .) for the resource levelling objective functions f are listed in Table 3.3.2, where for simplicity, we choose c: = c, = c k for all k E R and u, is, given by (3.1.5). For the resource renting problem, additional-cost function f"(Sc, j,.) = F ( R ( S C " { ~ ~ ) ) - F ( R ( S Ccannot )) be written in simplified terms.
+
+
Table 3.3.2: Additional-cost functions f" for resource levelling functions f
In Neumann et al. (2003) and Zimmermann (2001, Sect. 2.3), locally order-decreasing and order-quasiconcave objective functions have been introduced. Objective function f is said to be locally order-decreasing if for each schedule S, there is an E > 0 such that f (S) 5 f (S') for all schedules S' E N,(S) with O(S) > O(S1). For noncontinuous lower semicontinuous objective functions f , we have that if (i) S and S' are sufficiently close to each other, (ii) S removes an overlapping of two activities i and j given by schedule S', and (iii) f is not continuous on the line segment joining S and S', then f (S) 5 f (Sf), see Fig. 3.3.8. Since functions f which satisfy f (S) 5 f (St) under conditions (i) and (ii) are locally order-decreasing, each of the locally order-decreasing objective functions f considered in Section 3.1 is lower semicontinuous as well.
2
4
6
8
1
0
2
4
6
8
1
0
Figure 3.3.8: Gantt charts for schedules S and S' Objective function f is called order-quasiconcave if f is locally orderdecreasing or continuous and f is quasiconcave on SF(O(S)) for each S E S.
3.3. Classification of objective functions
235
The class of order-quasiconcave functions and class F5 introduced in Neumann et al. (2000) are proper subsets of class 7 of locally quasiconcave functions. Note that objective functions C ck C T : ~ ,C ck C oht, and C C c:A+rkt +c,A-rkt are order-quasiconcave since they are continuous or locally orderdecreasing and quasiconcave on each equal-order set S F ( O ( S ) ) ,S E S . Objective function C C c;ykt + however, is neither continuous nor locally order-decreasing. In analogy to Theorem 3.3.9 we have (3.3.13) Theorem. For a locally quasiconcave function f , there always exists a quasistable schedule which is optimal for PSI temp, f provided that S # 0.
Proof. Let f be a locally quasiconcave function. Since f is lower semicontinuous, there is a feasible schedule that minimizes f on S if S # 0. Now consider three different schedules S, S', S" E S , where the two shifts from S to S f and from S to S" are opposite order-preserving shifts. Hence, S lies on the l i e segment joining S and S" and it holds that O ( S ) O ( S ) and O ( S ) 5 O ( S N ) . Since for all (i,j ) $ O ( S ) we have Si p, > S j , schedules S' and S" can always be chosen such that S, S , S" E S F ( O ( S ) ) , i.e., O ( S ) = O ( S 1 )= O(S1'). Moreover, since schedule S lies on the line segment joining S' and Sf' and j is quasiconcave on S F ( O ( S ) ) ,we obtain min[f ( S t ) j, ( S n ) ] 5 f ( S ) . As a consequence, there is always a quasistable schedule which is optimal for PSltemp, 21f if S # 0.
+
f
f
f
Recall that PSoolternp,;ilf is a special case of PSltemp,alf. Thus, for locally quasiconcave objective functions f , there is also a quasistable schedule which is optimal for PSoolternp,bp,;lf . Now let f be an r-dependent locally quasiconcave objective function and let SC be a partial schedule with C c V. Then f is lower semicontinuous and quasiconcave on the set of all partial schedules inducing the same strict order as partial schedule S C . Consequently, for all j E C, the corresponding is) quasiadditional cost function given by f "( S C , j, S,) = f (Scu{j))- f (9 concave on each interval of start times S, for which the corresponding partial schedules sCU{3} induce the same strict order. The latter order changes when the start time of activity j is shifted behind the completion time of some activity i E C or the completion of activity j is shifted before the start of some activity h~ C. Thus, in addition to m i n T and m a x 7 , possible minimizers of f"(SC,j , . ) on 7: are points in time t E 7: at which at least one activity i E C is terminated and points in time t E for which at least one activity h E C is begun a t time t + pi. Again, the preceding results can be adapted to the case of ST instead of S . This gives the following decision sets for r-dependent objective functions of class 7:
Ch. 3. Minimization of General Objective finctions
236
If we choose the start times Sp of activities j' t o be elements of T j . , for each activity j E V \ {0), there is an activity i E V such that Sj = Si 6ij (i.e., activity j is scheduled as early as possible), or Sj = Sj - 6,i (i.e., activity j is scheduled as late as possible), or Sj = Si + p i (i.e., activity j is scheduled a t the completion time of activity i), or Sj + p j = Si (i.e., activity j is scheduled so that its completion time coincides with the start time of activity i). Thus, there is no pair of opposite order-preserving shifts from the schedule S constructed in that way, that is, schedule S is quasistable.
+
(3.3.14) Remark. In analogy to locally quasiconcave functions, we can introduce locally binarymonotone objective functions f , which are lower semicontinuous on 'R :; and are binary-monotone on SF(O(S)) for each S E S. Again, it can beshown that for such objective functions f, there is always a quasistable schedule which is optimal for ~ S l t e m21~f , if S # 0. Moreover, for j' E C, there is always a minimizer S; E 'B:. of function f"(Sc, j', .) on 7$. In summary, Table 3.3.3 shows for each class v of objective functions f the decision set YD$for sum-separable (for v = 1,.. . ,5) or r-dependent ( Y = 6,7) functions f and which type of schedule is optimal for problem PSltemp, ;il f , where for convex functions f , ST again represents the greatest minimizer of fj on RZo.
Table 3.3.3: Classes of objective functions and corresponding types of optimal schedules and decision sets Class Type of objective v function 1 Regular 2 Antiregular 3 Convex 4 5 6 7
3.4
Type of optimal schedule Active Antiactive Locally order-optimal Binary-monotone Pseudostable Stable Quasiconcave Quasiactive Locally regular Quasistable Locally quasiconcave
Decision set "D$
3*
{min 1 {max f i } {min{t 7.1 t 2 S;}, rnax{t 6 ( t 5 S;}} {min F.,m a x T * ) {mine.,rnaxq.) }U n CP) {min {minG, maxq.} U n GF) ~ { t ~ ( tq+ p. j * E S P }
: 6
5. (q.
(T*
Time complexity of time-constrained project scheduling
In this section, we briefly discuss the tractability of solving time-constrained project scheduling problem PScoltemp,al f with objective function f belonging to one of the classes 1 to 7, i.e. problem
3.4. Time complexity of time-constrained project scheduling
Minimize f (S) subject to S E ST
237
(3.4.1)
Recall that optimal solutions to problem (3.4.1) are referred to -as timeoptimal schedules (cf. Section 3.1). For i E V and t = O , l , ...,d, let zit be time-indexed binary variables where xi, := 1 if t = S, and xit := 0, otherwise. Then for arbitrary objective function f that can be written in the C$o v l , t ~ i twith wtt E R (for example, C ,,,, cf. (2.5.23), C uiSi, form CaGv or - C crpCi),problem PSml temp,Jl f can be solved in time polynomial in IVI and ;i(13.Mohring et al., 2001). In what follows, we again assume that there exists a time-feasible schedule, i.e., ST # 0. This condition can be verified in polynomial time by checking whether or not there is a cycle of positive length in project network N (compare Theorem 1.3.3). If N does not contain any cycle of positive length, the longest path lengths do, from node 0 to all nodes i E V can be calculated in O(IVIIEI) time by a label-correcting algorithm. Otherwise, the algorithm detects a cycle of positive length. As mentioned in Section 2.10, the earliest schedule ES = (doi)iev is time-optimal if f belongs to class 1 of regular objective functions. Analogously, the latest schedule LS = (-&o)iEv is time-optimal when minimizing antiregular objective functions f of class 2. Now we turn t o class 3 of continuous convex objective functions f . The assumption that f is continuous does not represent an essential restriction because a convex function is always continuous at any interior point of its domain. Under some mild assumptions, a continuous and convex function can be minimized on a polytope in polynomial time by the ellipsoid method provided that objective function values can be computed (with given accuracy) in polynomial time (cf. Grotschel et al., 1995, Sect. 4.1). Despite its polynomial time complexity, the ellipsoid method is on the average often less efficient than polynomial-time interior-point methods based on so-called self-concordant barriers for the feasible region which are available for different classes of convex functions (cf. Nesterov and Nemiroskii, 1994). A barrier for feasible region S is a contiiuous function that tends to infinity for each sequence of interior points converging to a boundary point of S. The basic idea of an interior-point method consists of replacing the constrained minimization problem by a sequence of unconstrained minimization problems whose objective functions are appropriate linear combinations of the original objective function f and the barrier. In principle, the problem of minimizing a continuous convex function f on polytope ST constitutes a well-tractable problem due t o the following sufficient and necessary optimality condition: S E STis time-optimal precisely if S is a local minimizer of f on set ST. Recall that S is a local minimizer of f on STif there exists an E > 0 such that f (S) 5 f (S') for every S' E s ~ f l N , ( S ) .A local minimizer of f on STcan be found by starting
238
Ch. 3. Minimization of General Objective finctions
a t some point S E ST (e.g. S = E S ) and moving in direction of decreasing objective function values until a local minimizer off on ST has been reached. Let S E 1;z2 be a schedule and z E IP+'be a direction with S EZ E lR?z2 for some E-> 0. Then the continuity and convexity o f f implies that f is differentiable at point S in direction z (cf. Shor, 1998, Sect. 1.2). Note that i f f is continuously differentiable at point S , the directional derivative df /da(S) of f at S in direction z equals the inner product zT grad f (S) of a and the gradient grad f (S) o f f at S. z E is termed a feasible direction a t point S E ST if for some e > 0, we have S E'Z E ST for all 0 < e' 5 e. Clearly, S is a local minimizer of f on ST exactly if df/az(S) 2 0 for all feasible directions z at S . An efficient way of computing local minimizers off on ST (and thus timeoptimal schedules) is by so-called steepest descent algorithms (cf. HiriartUrruty and Lemarbchal, 1993a, Ch. 2). Starting with some schedule S E ST, a steepest descent direction problem at point S, that is, problem
+
+
Minimize
a%(S) f
subject t o zj - zi 2 0 ((i, j ) E E with Si - Si = hij) zo = 0 llzll 5 1
I
(3.4.2)
is solved. = 0 says that the project beginning at time zero must not be delayed or advanced. zo = 0 and constraints zj - zi 2 0 ensure that z is a feasible direction. That is, if inequality S, - Si 2 6+ is binding (i.e., Sj - S, = Jij), then moving into direction z must not decrease the time lag between the start of activities i and j . The last inequality in (3.4.2) normalizes z by some vector norm 1 1 ~ 1 1 . Thus, the feasible region of problem (3.4.2) is compact. Since z = 0 is a feasible solution to (3.4.2), the steepest descent direction problem is always solvable. For example, if f is continuously differentiable, the objective function af /az(S) = zT grad f (S) of the steepest descent direction problem is linear. If in addition 11 . 11 is chosen t o be the maximum norm (i.e., llzll = rnaxiev Izil), then constraint llzll 5 1 can be replaced by -1 5 z, 5 1 (i E V), and (3.4.2) represents a linear program which can be solved in linear time. S is a local minimizer o f f on ST and thus represents a time-optimal schedule if and only if there is no (steepest) descent direction a t S , that is, z = 0 is an optimal solution t o (3.4.2). If S is not time-optimal, we have t o determine an appropriate stepsize u 2 0 by which we move from S in direction z such that S + uz E ST and f ( S + uz) 5 f (S). The computation of steepest descent directions and stepsizes is repeated until a local minimizer of f has been attained (this will be discussed in more detail in Subsection 3.5.2a). The objective function C WEE^ of the earliness-tardiness problem is a continuous and convex function. Note that this function is not continuously differentiable. How to compute the directional derivative af /dz(S) in
+wTT,
3.4. Time complexity of time-constrained project scheduling
239
this case will be discussed in Subsection 3.5.3a. A steepest descent algorithm for solving the corresponding time-constrained project scheduling problem PScoItemp, 21 C W ~ E+, has been devised by Schwindt (2000) and will also be sketched in Subsection 3.5.3a. This problem is polynomially solvable because C wfEi+ wTTican be linearized by introducing auxiliary variables ei and t, corresponding to the earliness and tardiness, respectively, of activity i. The problem is then transformed into minimizing Ciev(ei ti) subject to inequalities ei 2 d+ - Si-pi, ti 2 Sj+pi - 4, ei 2 0, and ti 2 0 for all i E V as well as the original temporal constraints. Thus, we obtain a linear program, which can be solved in polynomial time. For class 4 of binary-monotone functions f , the time-constrained project scheduling problem (3.4.1) turns out to be more difficult. An immediate consequence of the analysis in Subsection 3.3.5 is that there is always a vertex of ST which represents a time-optimal schedule. Recall that for unlimited resource capacities, the sets PSS and SS of pseudostable and stable schedules coincide (cf. Remark 3.2.15). Since set ST is a polytope, the set of all extreme points of ST,i.e. SS = PSS,equals the set of all vertices of ST.Since due to Theorem 3.2.10 there is an optimal schedule which is pseudostable, the set of all vertices of ST always contains a time-optimal schedule. Nevertheless, binary-monotone functions can be constructed for which local minimizers do not necessarily coincide with global minimizers of f on set ST. We henceforth consider the special case of so-called strongly binary-monotone objective functions f which are defined as follows: for given schedules S and Sfand binary direction z such that zi = zj = 1 implies S: - S: = Sj- Si,f is either decreasing, increasing, or constant where e(S, z) is given by (3.3.9), see on both half-lines e(S,z) and e(S1,z), Fig. 3.4.1. Figuratively speaking, the latter condition means that the type of monotonicity in direction z remains unchanged if, when moving from S to S', either all activities i E V with zi= 1 are uniformly shifted or none of the activities i E V with zi = 1 is shifted. The objective function - C c:,BC. of the net present value problem is an example of a strongly binary-monotone function (cf. Subsection 3.3.5). The following proposition states that each local minimizer of a strongly binary-monotone function f on ST represents a time-optimal schedule.
WTZ
+
(3.4.1) Proposition. Let f be a strongly binary-monotone objective function, and let 0 be a strict order in V. Then each local minimizer of f on set ST(0)minimizes f on
ST(^). Proof. Assume that S E ST(0)minimizes f on ST(O)and that S' E ST(O) is a local minimizer off on set ST(0)with f (St) > f (3).Vector S'-S can be expressed as a nonnegative linear combination of a feasible direction z- 5 0 and feasible directions t:, . . . , z,+ E {O,l)"+'at S where :z 2 z; 2 . . . 2 z,+ and (z-)~z: = 0. Moving from S to S' can be done by first moving on line
240
Ch. 3. Minimization of General Objective finctions
F i g u r e 3.4.1: Strongly binary-monotone objective function f e(S, r - ) to some intermediate point S" and then consecutively on l i e s in directions z:, . . . , z,+ t o point S'. Without loss of generality, we assume that f (S") < f (S') (otherwise, we interchange the roles of nonpositive and nonnegative directions). Clearly, f is nondecreasing in all feasible directions a t S. Due to f ( S ) > f (S ') and because f is strongly binary-monotone, at least one of the directions z:, . . . , z,+ is an ascent direction a t S'. Since by construction all directions - z t , . . . , -2: are feasible directions at S', we have a contradiction to the assumption that schedule S' is a local minimizer of f on S T ( 0 ) . f
f
For strongly binary-monotone objective functions f , it immediately follows from Proposition 3.4.1 that the set of optimal schedules for the resourceconstrained problem PSltemp,;il f always contains a locally order-optimal schedule S provided that S # 0. Schwindt and Zimmermann (2001) have presented a steepest descent algorithm for minimizing - CC:,~?~. on ST,which will be discussed in Subsection 3.5.2a. Similarly to the earliness-tardiness problem, PSmltemp,lil - C cfpci can be transformed into an equivalent linear programming problem with decision variables yi = pa+p. (cf. Grinold, 1972, and Neumann and Zimmermann, 2000). This transformation, however, replaces the integral by real-valued input data and is thus not polynomial in IVI. The question whether or not problem PSmltemp,dJ- CcfPC. can be solved in polynomial time is open. Recall that there is always an integer-valued schedule S E S which is optimal for PSmltemp,;il- C cfPc (cf. Remark 3.2.7). Thus, objective function - C cf,BC< can be written in the form C witzit with wit =--cfp1+p4 and time-indexed binary variables zit (i E V and t = 0,1, ...,d) where xit = 1 if t = Sj and zit = 0, otherwise. As a consequence, problem PSml temp, - C crPC
3.4. Time complexity of time-constrained project scheduling
241
The computation of time-optimal schedules for quasiconcave objective functions of class 5 generally represents a hard problem because already the minimization of concave functions on hypercubes is known to be NP-hard (cf. Horst and Tuy, 1996, Sect. A.1.2). Since the special objective function C visi is linear, the corresponding time+onstrained problem PSmltemp, C u,Si is polynomially solvable. Next, we show (3.4.2) Proposition. ; i (C C wijISi - S,I is NP-hard. Problem ~ S o o l t e m ~ , -
Proof. We construct a transformation from the NP-complete decision problem SIMPLE MAX CUT (cf. Garey and Johnson, 1979). Given an (undirected) graph G with node set V G , edge set E G , and weight w(e) = 1 for each e E E G , as well as a positive integer M. The question is whether or not there is a partition of V G into two sets VF and V2'such that the number of edges e E EG linking some node i E VF with some node j E V,Gis at least M (that is, whether or not there is a cut of G containing at least M edges e E EG). For an instance of problem SIMPLE MAX CUT, an equivalent instance of the decision problem for PSmltemp, 21 - C C wijISi - SiI can be constructed as follows. V = V G U {O,n + 1) is the set of activities, where pi = 1 for i E v G . For each activity i E V G ,there are two minimum time lags = 0 and d $;, = 1, and the maximum project duration 2 equals 2. Hence, we have ES, = 0 and LS, = 1 for all activities i E V G . We choose w;j = 1 if nodes i and j are adjacent in G, and w,j = 0, otherwise. There is a cut of G containing M edges precisely if there is a stable schedule S (i.e., Si E {O,1) for all i E V G ) with CIEV CjEV:J>i wiiISj - Sil 2 M . The minimization of locally regular objective functions of class 6 is in general NP-hard. As an example, we consider the objective function of the resource investment problem PSooItemp, 21 C c k max rk,. (3.4.3) Proposition. Problem PSmltemp, dl
C c k max rtt is NP-hard.
Proof. Given an instance of PSmltemp,;il C ck maxrbt with a single resource, the respective decision problem is as follows: For fixed R € M,is there a time-feasible schedule S with ma~,,,,~r(S,t ) 5 R ? Since time-feasibility implies 5 a, this decision proble~correspondsto the decision problem for PSltemplC,,,, with one resource of capacity R, where the question is whether or not there is a feasible schedule S with S,+1 5 a. From Theorem 2.3.13 it immediately follows that problem PSltemplC,,,, is NP-hard. Next, we deal with the time-constrained changeover time problem PSml temp, 2, si, I C 1t9,j@,, from Section 3.1. Due to our assumption that 9 .,; = d:,, = 0 for all k E R and all i E h, this problem can easily be solved as follows. Independently £rom schedule S , we may change over each
242
Ch. 3. Minimization of General Objective Functions
resource k from activity 0 to all activities i E Vk and then from all activities i E Vk to activity n + 1, which provides the optimum objective function value of zero. The latter solution means that we process all activities i E Vk on different resource units. Hence, the time-constrained changeover time problem as described in Section 3.1 is polynomially solvable. Recall that the assumption 9h = 9t,n+l = 0 has only been made for notational convenience. If we waive this assumption, then there exists a transformation from the NP-hard asymmetric m-travelling salesman problem with m = n (i.e., there are n available salesmen, and we can select some (or all) salesmen and assign tours to them, cf. Gavish and Srikanth, 1986, and Reinelt, 1994, Sect. 3 ) to the time-constrained changeover time problem with a single resource. Here, the activities 1,2, ..., n represent the cities, activities 0 and n 1 correspond to leaving and entering, respectively, the depot, and the sequence-dependent changeover times t9ij ( i ,j E V ) equal the distances between the cities and between the cities and the depot. Since class 7 of locally quasiconcave objective functions is a superset of class 6, the corresponding time-constrained project scheduling problems are generally NP-hard as well. In particular, we obtain
+
(3.4.4) Proposition. Problems PSwltemp,;il
C C c:A+rkt hard.
+
C ck C okt, PScoltemp, 21 C ck C r:,, ~Scoltemp,;il and PSwltemp, 21 C C c;vlct+ c { A + ~ are J ~ ~NP-
Proof. First, we consider problem PScoltemp,21 C ck C o k t The decision problem for the NP-hard resource investment problem PSwltemp,al C c k maxrkt with a single resource referred to in the proof of Proposition 3.4.3 coincides with the particular decision problem for P S w ltemp, C ck C okt with threshold Y = R. This implies that problem PScoltemp,al C ck C okt is NP-hard, too. Second, we turn to problems with objective functions C ck C rit and CCc:A+rkt c;A-rkt. Consider an instance of the NP-complete decision problem 3-PARTITION (cf. Garey and Johnson, 1979). G'lven a set Z of 3v indices i = 1 , . . . ,3v with sizes s ( i ) E M and given a bound M E M such that M / 4 < s ( i ) < M / 2 for all i E Z and C i G z s ( i )= v M . The question is whether or not Z can be partitioned into v sets TI,. . . ,Z, such that C i E Z= M for all 1 5 p 5 v. Note that it follows from inequality M / 4 < s ( i ) < M / 2 for all i E Z that all sets Z1, . . . ,Z, contain exactly three indices each. Equivalent instances of decision problems for PSwl temp,al ~ c Ckr j t and ~ ~ w l t e m p , ;Ci lCc:A+rkt ciA-rkt can be constructed as follows. The set of real activities i = 1,. . . ,n contains 3v activities i = 1 , . . . ,3v with duration pi = s ( i ) and v additional activities i = 3v 1,. . . ,4v with duration pi = 1. There is a single resource, and the resource requirements of all real activities i = 1,. . . ,4v are ri = 1. The start times of activities i = 3v 1,. . . ,4v are fixed in advance by minimum and
+
+
+
+
3.4. Time complexity of time-constrained project scheduling
243
maximum time lags = = ( M + l ) ( i- 3v)- 1. The project deadline of Z such that is given by d = v ( M 1). There is a partition TI,.. . ,I,, CiES = M for all 1 5 p 5 v precisely if there is a time-feasible schedule S with r ( S , t ) = 1 for all 0 5 t 5 2 (cf. Fig. 3.4.2, where activities i E Z are light-shaded and fixed activities i = 3u 1,. . .4v are dark-shaded). For the instances of PSmltemp,;il C ck C rz, and ~Smltemp,;ilC C clA+rkt c i a - r t t , the condition that r(S,t) = 1 for all 0 5 t 5 ;i is equivalent to the requirement f (S) = a and f ( S ) = 2, respectively. Thus, problems PSml temp, dl C ck C ri, and PSco temp, 21 C C c:A+rkt + c i a - r t t are NPhard. For Third, we consider problem PScoltemp,dl C Cc;pkt ci = 0, the decision problem for PSmltemp, 21 C C cU,pkt+ c ~ A is+equiv~ ~ ~ alent to the decision problem for the NP-hard resource investment problem PSmltemp, 21 C ck m a r k t . This implies that problem ~ S m l t e m ~ , z l C C c;(ot, c : ~ + p k ~is NP-hard as well.
+
+
+
+
+
Figure 3.4.2: Gantt chart for time-optimal schedule S
For the objective functions f discussed in Section 3.1, Table 3.4.1 summarizes the time complexity of problems PSmltemp, f . Notice that as a direct consequence of Theorem 2.3.13, the resource-constrained analogues PSltemp,dl f to all time-constrained project scheduling problems with the objective functions listed in Table 3.4.1 are NP-hard. Recall that although the complexity status of problem PSwl temp, Zl- C c:,BC. is open, the latter problem can be solved in pseudopolynomial time. In conclusion, we briefly touch upon two basic approaches to solving resource-constrained problems PSltemp,;il f , which will be discussed in more detail in Sections 3.5 and 3.6. The functions f from classes 1, 2, 4, and 5 share the property that the number of candidate solutions to the respective timeconstrained problems which have to be investigated is bounded from above by the number of vertices of ST.For classes 1,2,4,and 5, there is always a vertex of ST representing a time-optimal schedule. For class 3, it is sufficient to compute one local minimizer o f f on ST,which can be found by some steepest descent method. In contrast, minimizing objective functions f from classes 6 or 7 on ST or S in principle requires the enumeration of the minimal points or vertices, respectively, of all schedule polytopes ST(O(S)) belonging to time-feasible schedule-induced orders O(S). That is why for objective functions from classes 6 or 7, the time-constrained and the resource-constrained project
244
Ch. 3. Minimization of General Objective Functions
Table 3.4.1: Complexity of time-constrained minimization problems Class Complexity Cm, 1 -polynomial 1 polynomial Lmm 1 polynomial wFFi 1 polynomial wTT, 2 polynomial C w,EEi C WEE^ + wTTi 3 poIynomial 4 open cfpc. C visi 5 polynomial - C C w i j I s j - SiI 5 NP-hard 6 NP-hard C ck max rkt 6 polynomial C C fiij @ i j 7 NP-hard Ck 7 NP-hard C Ck Okt C C c:A+rkt cia-rkt 7 NP-hard C c!(P~t+ c$+(Pkt 7 NP-hard Objective -.. function f .. . -
c
c c .it c c
+
scheduling problems do not essentially differ in their degree of intractability. In most cases, respective branch-and-bound algorithms even perform better when coping with scarce resources because in that case, the resource constraints can often be used to fathom large parts of the enumeration tree. The above reasoning suggests the use of two distinct approaches for solving resourceconstrained project scheduling problems: a relmation-based approach when dealing with objective functions f from classes 1 to 5 and a tree-based approach for objective functions f from classes 6 and 7. The relaxation-based approach can also be used for the class of convexifiable objective functions mentioned in Subsection 3.3.4. The enumeration scheme for solving PSltemplC,, presented in Subsection 2.5.1 is an example of the relaxation- based approach. The basic idea of this approach is to relax the resource constraints in order to obtain a more tractable timeconstrained problem and to cover the feasible region S by a small number of (large) order polytopes ST(0). The polytopes ST(O) considered in the course of the relaxation-based approach generally represent supersets of polytopes ST(O1) with 0' E 0, where O again denotes the set of all inclusion-minimal feasible strict orders in activity set V. The time-constrained problem on any order polytope ST(0), i.e. minimizing f on ST(O), can be solved either by some of the efficient procedures discussed above or (in the worst case) by enumerating vertices of ST(O) or local minimizers of f on ST(O). In general, the time-optimal schedule determined is not resource-feasible. Thus, we have to introduce precedence relationships among activities of some forbidden active sets. The search for time-optimal schedules S in order polytopes ST(O) and the addition of precedence constraints is repeated until either 0 is no longer
3.4. Time complexity of time-constrained project scheduling
245
time-feasible (i.e., S T ( 0 ) = I) or schedule S is feasible. Notice that although the timeconstrained changeover time problem is polynomially solvable, the corresponding resource-constrained problem is not amenable to the relaxation-based approach. The reason is that the resource relaxation of the latter problem includes a unit-assignment problem (cf. Sections 2.14 and 3.1), which implies that adding temporal constraints to the resource relaxation does not prevent us from processing all activities on different resource units. Hence, forbidden sets cannot be broken up by establishing strict orders in set V. The tree- based approach enumerates vertices of schedule polytopes. As has been shown in Section 3.2, a quasiactive schedule S (or equivalently, the minimal point of ST(O(S))) can be represented by a spanning outtree of schedule network N(O(S)) rooted at node 0. Furthermore, a quasistable schedule S (or equivalently, a vertex of ST(O(S)))corresponds t o a spanning tree of schedule network N(O(S)). The basic idea of the treebased approach is t o enumerate spanning outtrees or spanning trees of schedule networks, where the arcs of such a tree correspond t o temporal or precedence constraints between two activities i and j which are b i d i n g for the respective schedule. In this way, quasiactive and quasistable schedules (together with corresponding spanning trees) are constructed by consecutively fixing n 1 binding temporal or precedence constraints. Each inclusion-maximal feasible strict order 0 is induced by some schedule S E S. Thus the set of vertices of all schedule polytopes coincides with the set of vertices of all order polytopes. The schedules enumerated by the treebased approach represent the vertices of all schedule polytopes ST(O(S)), S E S . The schedules enumerated in the course of the relaxation-based approach, however, represent vertices of (large) order polytopes ST(O) covering feasible region S , where in general 0 0' with 0' 6 17. Hence, the number of schedules enumerated by the treebased approach is generally much larger than for the relaxation-based approach. Table 3.4.2 shows the candidates for optimal schedules and corresponding points of S for the different objective function classes 1 to 7.
+
Table 3.4.2: Classes of objective functions, schedule types which are candidates for optimal schedules, and corresponding points of S Class
1 2 3 4 5 6 7
Candidates for optimal schedules Active Antiactive Locally order-optimal Pseudostable Stable Quasiactive Quasistable
Corresponding points of S Minimal points of S ~aximalpointsof S Local minimizers of f on ST(O), 0 E O Local extreme points of S Extreme points of S Minimal points of ST(O(S)),S E S Extreme points of ST(O(S)), S E S
246
3.5
Ch. 3. Minimization of General Objective hnctions
Relaxation-based approach for function classes 1 to 5
In this section, we deal with exact methods for solving problems PSI temp, f where objective function f belongs to one of the classes 1 to 5 introduced in Section 3.3. In Subsection 3.5.1, we propose a relaxation-based enumeration scheme which generalizes the enumeration scheme from Subsection 2.5.1 to nonregular objective functions. For objective functions of classes 1, 2, 4, and 5, we exploit the fact that there is always a time-optimal schedule representing a vertex of polytope ST (cf. Sections 3.3 and 3.4). For objective functions of class 3 (convex objective functions), we exploit the fact that each local minimizer also represents a global one. Recall that for objective functions f of class 5, the relaxation PSmltemp,dl f is generally NP-hard (cf. Section 3.4). The relaxation-based enumeration scheme can be used, however, an NP-hard problem has to be solved in each iteration. How to solve the relaxation PSmJtemp,dlf in principle, will be sketched in Subsection 3.6.1. Subsection 3.5.2 is devoted to exact solution procedures for net present value problems PSool temp, 21- C c:pC, and PSI temp, 21- C GpC*. Finally, in Subsection 3.5.3, we sketch exact procedures for earliness-tardiness problems ~ S mtemp,;il l c WEE^ + wTTi and PSlternp,dl C w f E , wTTi. The problems discussed in Subsections 3.5.2 and 3.5.3 (whose objective functions belong to classes 4 and 3, respectively) are quite important in practice so that special fast algorithms are desired.
+
3.5.1
General enumeration scheme
The relaxation-based enumeration scheme successively solves resource relaxations PSmltemp, 21f of the underlying problem PSltemp,Jl f . Each node of the enumeration tree corresponds to a time-feasible strict order 0 . For the root node of the enumeration tree, we have 0 = 8. In each iteration, a minimizer S+ of objective function f on order polytope S T ( 0 ) for timefeasible strict order 0 is determined. If schedule S+is feasible, S+ is added to the set r of generated schedules. Otherwise, there is a point in time t with rk(Sf, t) > Rk for some k E 'R, that is, active set A(S+,t) is forbidden. In the latter case, for each feasible schedule S E S,there is a minimal delaying mode (i, B) for A(S+,t) such that Sj 2 Si + p i holds for all j E B (cf. Theorem 2.5.7). Thus, we determine the set of all minimal delaying modes (i, B ) by Algorithm 2.5.2. Each corresponding strict order 0' = t r ( 0 U ((2, j ) 1 j E B ) ) being time-feasible is added to the set R of strict orders to be investigated. The procedure terminates if all time-feasible strict orders 0 E R have been explored. Note that for regular objective functions f , schedule S+always represents the (unique) minimal point of the current order polytope S T ( 0 ) . Thus, the
3.5. Relaxation-based approach for function classes 1: to 5
247
>
introduction of additional precedence constraints Sj Si + p i , j E B , does not affect the start time S, of activity i. If objective function f is nonregular, the introduction of additional precedence constraints Sj Si+pi may lead to a rightshift of all activities j E B and to a left-shift of activity i. Algorithm 3.5.1 summarizes the enumeration scheme for problem ~ S J t e m ~f, awith J f belonging to one of the classes 1 to 5.
>
(3.5.1) Algorithm: Relaxation-based enumeration scheme for PSI temp, f .
Initialize set of orders R := ( 0 ) and set of candidate schedules I? := 0 Repeat Remove an order 0 from set R Compute minimizer S+ of f on ST(O) If Sf is resource-feasible then I? := I? U { S + ) Else Determine a point in time t such that d ( S + ,t) is forbidden Compute set B of all minimal delaying alternatives B for A(S+,t) (cf. Algorithm 2.5.2), that is, do U := 0, MdnimalDelaydngAltematiwes(d(S+, t), 0, B) For all B E L3 do For all i E A(S+,t ) \ B do Introduce precedence relationships between i and all activities j E B, that is, put 0' := t r ( 0 U ( ( 2 , j ) I j E B ) ) If ST(O1)# 0 then R := R U ( 0 ' ) End (*for *) End (*for *) End (* if *) Until R = 0 Return r 0 Recall that for objective functions f of classes 1, 2, 4, and 5, minimizer S+ of f on S T ( 0 ) represents an extreme point of ST(0) and that for convex objective functions f (class 3), S+represents a local and thus a global minimizer of f on ST(0). In more detail, we obtain in analogy to the case of regular objective functions (cf. Proposition 2.5.9). (3.5.2) Proposition. Let ?! be the set of candidate schedules generated by Algorithm 3.5.1. Then (a) The enumeration scheme of Algorithm 3.5.1 is complete. In other words, the algorithm does not generate an optimal schedule precisely if there is no optimal schedule, i.e., I? 0 U S = 0 if and only if = 0.
248
Ch. 3. Minimization of General Objective finctions
(b) For an objective function f of classes 1, 2, 4, or 5, all schedules S E I? can chosen to be quasistable, i.e., I? & QSS. If f belongs t o class 3, all schedules S E I? are locally order-optimal. ( c ) Algorithm 3.5.1 terminates after a finite number of iterations.
Proof. (a) The reasoning is similar t o the proof of Proposition 2.5.9a, where S = minST(0) is replaced by a minimizer S+ of objective function f on order polytope Sr(0). (b) Let 0 be an arbitrary strict order in V. Then for objective function f of classes 1, 2, 4, and 5, there always exists a minimizer of f on order polytope S T ( 0 ) which represents a vertex of S T ( 0 ) . From Theorem 3.2.10 it then follows that r C QSS. If objective function f is continuous and convex, all schedules S E I? represent local and global minimizers of f on some order polytope S T ( 0 ) . Hence, for objective functions of class 3, each schedule S E r is locally order-optimal. ( c ) The reasoning is analogous to the proof of Proposition 2.5.9~. Note that all solution procedures described in Sections 3.5 and 3.6 for objective functions from classes 1, 2, 4, and 5 provide quasistable schedules. Next, we illustrate Algorithm 3.5.1 for the project of Example 2.1.3 shown in Fig. 3.5.1, where (quasi-)concave objective function - C C wij ISj - Si 1 is to be minimized.
Figure 3.5.1: Project network N with a single resource
(3.5.3) Example. We consider the project depicted in Fig. 3.5.1 and assume that the capacity of the single resource is R = 3 and the prescribed maximum project duration is ;i= 16. Suppose that due to technical reasons, activities 1 and 3, activities 3 and 4, and activities 2 and 5 should not be executed in parallel. We choose ~ 1 = 3 2, w34 = 4, and w25 = 8, where the different weights wij correspond
3.5. Relaxation-based approach for function classes 1 to 5
249
t o the priorities with which activities i and j should not be carried out simultaneously. The remaining weights wij are set equal to zero. We start by initializing the set of strict orders R := { I ) and set of candidate schedules I? := 0. In the first iteration, we consider order 0 = 0 and compute a minimizer S+ of objective function f on &(O). We obtain schedule S+ = (0,0,1,1,5,10,16) depicted in Fig. 3.5.2a with a corresponding objective function value of -90. Schedule S+ can be computed by enumerating all vertices of polytope S T ( 0 ) and choosing that one with smallest objective function value. Since S+ is not resource-feasible, we determine a point in time t at which the resource amount required for executing all activities from active set A ( S + , t ) exceeds the available capacity R = 3. Active set .4(Sf, 1) = {1,2,3) at time t = 1 is forbidden. The set of minimal delaying alternatives for set {1,2,3) is B = ((21, ( 3 ) ) (cf. Example 2.5.3). Among the corresponding minimal delaying modes (1,{ 2 ) ) , (3, { 2 ) ) , (1, { 3 ) ) , and (2, { 3 } ) , only mode ( 3 , { 2 ) ) leads to a timefeasible strict order, which is added t o set R. (a) 0 = 0
(b) 0 = ((3,211
5
10
15
Figure 3.5.2: Gantt charts for schedules belonging to enumerated orders 0 In the next iteration, we consider 0 = { ( 3 , 2 ) ) and corresponding minimizer S = (0,2,3,1,5,10,16) with objective function value of -74 (cf. Fig. 3.5.2b). Now the active set A ( S f , 5) = {1,2,4) at time t = 5 is forbidden. The set of minimal delaying alternatives is B = ((21, (4)). However, only one of the four minimal delaying modes (1, {Z)), (4, {2)), (1, { 4 ) ) , and (2,141) complies with the temporal constraints, namely (4, ( 2 ) ) . Hence, strict order { ( 3 , 2 ) ,(4,2)) is added to set R. Finally, we consider strict order 0 = { ( 3 , 2 ) , ( 4 , 2 ) ) and obtain schedule Sf = (0,10,12,0,4,8,16) as f
250
Ch. 3. Minimization of General Objective Functions
minimizer with objective function value of -68 (cf. Fig. 3.5.2~).Schedule S+ is feasible, and thus S+ is added to set I? of candidate schedules. Because of 0 = 8,Algorithm 3.5.1 terminates. Since r contains only schedule S = (0,10,12,0,4,8,16),S represents an optimal (stable) schedule. In the following two subsections, we discuss two branch-and-bound algorithms in detail for solving the net present value and the earliness-tardiness problem. Both algorithms are based on the enumeration scheme of Algorithm 3.5.1.
3.5.2
Branch-and-bound algorithm for the net present value problem
The project scheduling problem where cash flows are associated with project activities and the sum of all cash flows discounted to the beginning of the project, i.e. the net present value of the project, is to be maximized has been introduced in Section 3.1. In this subsection, we discuss a branchand-bound procedure for the resource-constrained net present value problem PSltemp, Zl- C cfpc$, that is, the problem Minimize
f (S) = -
c[@,+~' iEV
subject to S E S First, we sketch a steepest descent algorithm for the resource-relaxation PSwltemp,dl- ~ c f introduced p ~ ~ by Schwindt and Zimmermann (2001). Next, we study a branch-and-bound algorithm for PSI temp, Zl- C cTpG by Neumann and Zimmermann (2000,2002), which is based on the enumeration scheme of Algorithm 3.5.1. Finally, we present an experimental performance analysis, which shows that instances of PSwltemp,;il- CcfpC, with up to 1000 activities and instances of PSltemp,dl- CcFpca with up to 100 activities can be solved by the algorithms proposed within reasonable computing time. For a comprehensive survey of various types of discounted cash flow problems and solution methods, we refer to Herroelen et al. (1997) and Kolisch and Padman (2001). (a)
Time- constrained project scheduling
For the time-constrained net present value problem PSmltemp,Zl- C cfPC., that is, Minimize f (S) = - C cFpS.+p. (FV
subject to S E ST exact solution procedures have been proposed by Kamburowski (1990), De Reyck (1998, Ch. 8), De Reyck and Herroelen (1998b), Schwindt and Zimmermann (1998, 2001), and Neumann and Zimmermann (2000). For the
3.5. Relaxation-baed approach for function classes 1 to 5
251
corresponding problem with precedence constraints PScmlprec,;il- C cTPC., exact solution procedures have been devised, e.g., by Russell (1970), Grinold (1972), and Demeulemeester et al. (1996). The procedures of Kamburowski (1990) and Neumann and Zimmermann (2000) are based on a transformation of PScoltemp, c:PC. into the equivalent linear program
a[-
Minimize
J(y) = - C C,F (FV
subject to aiiyj - y, 5 0
((i, j ) E E )
,
with yi := DS;+pi and ..- ea(6.*-P'+PJ), which was originally devised by Grinold (1972) for PSoolprec,al- C cT,BC.. Since each vertex of the feasible region of the linear program (or equivalently of &) can be associated with a spanning tree of the project network, the search for an optimal schedule can be restricted to examining such spanning trees (cf. Proposition 3.2.16). The optimality of a schedule is verified by complementary slackness conditions. De Reyck and Herroelen (199813) and De Reyck (1998, Ch. 8) have generalized an approach by Demeulemeester et al. (1996) whose basic idea is as follows. Beginning with the earliest schedule, which can be represented by a spanning outtree of the project network, subtrees with negative net present value are delayed one by one to increase the net present Glue of the project. The steepest descent algorithm by Schwindt and Zimmermann (2001) discussed in what follows represents the most efficient procedure for problem PSmltemp,al-CcrPC. known so far. In each iteration of the steepest descent algorithm, we move from a vertex S E ST to a vertex Sf E ST with f (St) f (S) beginning with the earliest schedule ES. Each iteration consists of two phases: the direction-finding phase and the line-search phase. In the direction-findig phase, we search for a normalized steepest firstorder descent direction at current vertex S , i.e. a feasible direction z such that llzll = 1 and the directional derivative of f at point S in direction r , af /az(S), is minimum. The line-search phase represents a sequence of linesearch steps and provides a new vertex Sf E ST with f (St) 5 f (S).
<
We represent the current schedule S by a spanning forest G = (V,) ' E of project network N where each arc ( i , j ) E EG corresponds to a temporal constraint Sj- Si dii binding at schedule S (cf. Section 3.2). Recall that if schedule S is a vertex of ST,then G contains n + 1 arcs and thus represents a spanning tree of N (cf. Proposition 3.2.16). l m a x i ~ vIzil, First, we deal with the direction- finding phase. For l l ~ l = the steepest descent direction problem (SDD) a t schedule S E ST corresponds to problem (3.4.2) and represents a linear program which can be formulated
>
Ch. 3. Minimization of General Objective finctions
252
as follows: Minimize
q(z) =
$@s,+piri iEV
>
subject to rj - q 0 zo = 0 -15~~51
( ( i , j ) E EG) (i E V)
Aside from a factor -1np 2 0, objective function q(z) of problem (SDD) zi af /aSi(S) of f coincides with the directional derivative af /ar(S) = at S in direction z (cf. Subsection 3.3.5). Constraints 2;. - zi 0, (i, j ) E ED, ensure that if activity i is right-shifted by zi > 0 time units, then all successors j of i in G are right-shifted by zj 2 zi time units. Moreover, if activity j is left-shifted by -zj > 0 time units, then all predecessors i of j in G are left-shifted by -zi -zj time units. zo = 0 says that the project beginning must neither be delayed nor advanced. Thus, any feasible solution z to problem (SDD) represents a feasible direction at schedule S (i.e., S E'Z E ST for 0 < E' 5 E and some E > 0) provided that schedule S is not degenerate. Note that in contrast to the steepest ascent direction problem introduced in Section 3.4, problem (SDD) only considers b i d i n g constraints which belong to arcs (i, j) E EG instead of all binding constraints for schedule S. As we will see later on, the restriction to linearly independent constraints allows the steepest descent direction problem to be solved very efficiently. The last inequalities of (SDD) normalize z by the maximum norm llall = maxic" lzil This ensures that the feasible region of problem (SDD) is compact. Notice that independently of schedule S, direction r = 0 always represents a feasible solution to (SDD). Due to the total unimodularity of the coefficient matrix, problem (SDD) possesses an integral optimal solution r E {-1,0, l)n+2. If z = 0 is an optimal solution to the corresponding steepest descent direction problem (SDD) a t schedule S, then S is an optimal schedule. For solving problem (SDD), we make use of the following property of forests (cf. Berge, 1976, Section 3.1).
>
>
+
(3.5.4) Proposition.
A forest with at least one node possesses a source with a t most one successor or a sink with exactly one predecessor. Proof. Consider an undirected path in the forest with maximum number of nodes and endnodes i and j. Then either j = i and j is an isolated node, or j is a source possessing exactly one successor, or j is a sink possessing exactly one predecessor. Now let 4i := af /aSi(S). If there is a source i (or sink j) of spanning forest G with 4i > 0 (or $j < 0, respectively), then zi = -1 (or rj = 1,
3.5. Relaxation-based approach for function classes 1 to 5
253
respectively) holds for any optimal solution to (SDD), and node i (or j, respectively) and all incident arcs (i, j ) can be deleted. If there is no source i (or sink j, respectively) with +i > 0 (or g5j < 0, respectively), then by Proposition 3.5.4, V contains a source i with at most one successor j (and ~$i 5 0) or a sink j with exactly one predecessor i (and 4j 2 0). In both cases, activity i is shifted exactly if activity j is shifted, i.e., .zi = t j . Thus, nodes i and j can be merged into an aggregate activity with partial derivative $i + $j (which corresponds to the directional derivative of f a t S in direction 2 with t h = 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 or have been merged with node 0. Algorithm 3.5.5 provides an O ( n ) time implementation of this procedure, where C(i) denotes the set of activities j merged with node i, i.e., zj = z, for all j E C(i). (3.5.5) Algorithm: Steepest descent direction.
Set zi := 0, 4i := -In p C"~+P., and C(i) := {i) for all i E V Set V' := V While V' # (0) do If V' contains a node i # 0 such that Predc(i) n V = 0 and i has at most one successor j E V then V' := V' \ {i} If 4i > 0 then zh := -1 for all h E C(i) Else If Succc(i) n V' = {j) then 4j := 4j + $;, C(j) := C ( j ) U C(i) End (* if *) Else Determine node j E V', j # 0, such that SuccG(j)fl V = 0 and j has exactly one predecessor i E V' Set V' := V' \ {j) If 4j < 0 then zh := 1 for all h E C ( j ) Else q$ := 4i 4j,C(i) := C(i) U C ( j ) End (* if *) End (* if *) End (* while *)
+
For steepest descent direction z computed by Algorithm 3.5.5, it holds that for each feasible solution z' to problem (SDD) with t i = 0 if t,l # zi. Thus, the steepest descent direction z determined by Algorithm 3.5.5 always represents the (unique optimal) solution t to (SDD) with minimum CicvI.zil.
254
Ch. 3. Minimization of General Objective finctions
In Schwindt and Zimmermann (1998) it has been shown that in each iteration, Algorithm 3.5.5 provides a steepest descent direction z 0 if the descent algorithm is started with earliest schedule ES. In this case, 4i< 0 is satisfied for each source i of spanning forest G. Thus, in problem (SDD), z E {-l,O, lIn+' can be replaced by z E ( 0 , and the sequence of schedules generated by the steepest descent algorithm becomes componentwise nondecreasing. Second, we deal with the line-search phase. Given a steepest descent direction z E (0,lIn+' a t schedule S E ST, binary-monotone function f is nonincreasing on the half-line emanating from S in direction z. Then
>
a = min min (Sl- Sh - bhl) h€Vd ( h . l ) E E
itv\v.
+
is the largest stepsize such that S az E ST,where V s denotes the set of all shifted activities i E V with z, = 1. Moving from schedule S to S uz on the half-line with direction z is termed a line-search step. Even if S is a vertex of S T , S uz E ST need not be a vertex of ST. In what follows, we thus construct a sequence of line-search steps leading to a vertex S' with f (S') 5 f uz). Let z be the steepest descent direction and C ( j l ) ,...,C(j,) be the disjoint node sets determined in the course of Algorithm 3.5.5, where 0 E C ( j l ) . Then zi = 0 if activity i E C ( j l ) and zi = 1, otherwise. Furthermore, let ,.. ., g+,, be the respective values of the partial derivatives at the termination of Algorithm 3.5.5. If we delete all arcs ( i , j ) E EG joining nodes i and j from different sets C ( j x )and C(j,), we obtain a forest G' = (V,EG')for which Algorithm 3.5.5 provides the same descent direction z as for spanning tree G. Moreover, each weak component of G' which does not contain node 0 is induced by a node set C(j,) with 4jL < 0, for 2 5 p 5 I . Recall that a weak component of a directed graph is a subgraph with maximum number of nodes and the property that any two nodes i and j of this subgraph are connected, i.e., there is an undirected path with endnodes i and j. Since 4jp represents the marginal benefit of uniformly delaying all activities h E C(j,) and since f is binary-monotone, the activities of weak components with node sets C(j,) are delayed up to the point in time at which some temporal constraint SI - Sh Jhl with ( h ,1 ) @ EG and h E C ( j x )for some X E {2,. . . , u ) becomes binding. By adding the respective arc (h, I ) to E O ' , we obtain an enlarged spanning forest (for simplicity, again denoted by G'). G' represents schedule S a z , where u is determined by (3.5.1), see the broken arrow in direction z in Fig. 3.5.3. Next, we consider descent direction H' with z,!= 0 for i E C ( j X )and zi = zi,otherwise. Moving into direction z', we delay the activities from sets C ( j 4 ,. . . , G(jx-,),C(jx+l),. . . , C(j,) until a temporal constraint Sl,- Shr 2 bhrp with (h', l') @ EG becomes binding. By a d d i g the respective arc {h',1') to EG',we obtain the again enlarged spanning forest G' representing schedule S az a'z', where u' is determined by (3.5.1) (see the broken arrow in
+
(s+
>
+
+ +
+
3.5. Relaxation-based approach for function classes 1 to 5
255
Figure 3.5.3: Line-search phase with two line-search steps direction rr in Fig. 3.5.3). We continue until all weak components with node sets C(jz), ...,C(j,) are "connected" with node 0 in G r. The corresponding schedule Sf represents a vertex of ST with f (S r) 5 f ( S U Z ) . Note that vertices S and S' are generally not adjacent. Algorithm 3.5.6 summarizes the line-search phase, where node sets C ( j ) are delayed successively according to nondecreasing slack times St - Sh - 6hl between nodes h E C(j), j = 2,. . . , u, and nodes 1 with ZL = 0. This means that all activities i E V with zi = 1 are delayed as far as possible with respect to the given temporal constraints. The set of all activities delayed when moving from schedule S in direction r is again denoted by V S.
+
(3.5.6) Algorithm: Line-search phase.
V S:= {i E V I zi= 1) For (i, j ) E EG with j 4 C(i) and i $ C(j) do EC := EG \ {(i, j ) ) While V" # 0 do Determine (h,l) E E with h E V S and I E V \ V s such that St - S h - bhl = u := minhtEV.min(,,,,,,,, (Sit - Sh, - bh~l,) IIEV\V*
Determine node set C ( j ) of the weak component of G with h E C ( j ) For i E C ( j ) do Sj:= Si+ u V s:= V" C(j) EG := EG U { ( h , l ) ) End (*while *) Set S' := S Return S' The time complexity of Algorithm 3.5.6 is O(IE1 log [El)and results from the computational effort for generating and maintaining the list of arcs sorted according to nondecreasing slack times.
256
Ch. 3. Minimization o f General Objective finctions
Algorithm 3.5.7 summarizes the steepest descent algorithm for problem PScoltemp,dI- CC"~..
(3.5.7) Algorithm: Steepest descent m e t h o d for ~ S o a I t e m p;il, cffl".
c
Determine earliest schedule ES and a corresponding spanning tree G = (V, E G ) of project network N , and set S := ES Repeat Determine steepest descent direction r at vertex S by Algorithm 3.5.5 If r # 0 t h e n Find new vertex 5'' by Algorithm 3.5.6 Set S := S' E n d (* if *) Until z = 0 Set S+:= S R e t u r n S+ Schwindt and Zimmermann (2001) have shown that for ST # 0, Algorithm 3.5.7 provides a time-optimal schedule S+ after a finite number of iterations. In particular, the algorithm avoids cycling in degenerate vertices. The time complexity of Algorithm 3.5.7, however, is still an open question. For instances with c: 2 0 for all i E V and ST # 0, initial schedule ES is optimal. If cf < 0 for all i E V and ST # 0, the first iteration of Algorithm 3.5.7 provides C ( j ) = { j } for all j E V. Thus, all activities i E V \ (0) are delayed in order of nonincreasing slack times. The resulting spanning tree G' represents an intree, and no activity i E V can be delayed further. Hence, schedule Sfobtained after the first iteration coincides with the latest schedule L S and represents a time-optimal schedule.
(3.5.8) Example. We consider the project depicted in Fig. 3.5.4 with six real activities i = 1,.. . , 6 associated cash flows c r , deadline a = 10, and discount rate ,8 = 0.99. Table 3.5.1 shows the earliest start times ESi of activities i E V. Table 3.5.1: Earliest start times
We start by solving problem (SDD) for spanning outtree G of project network N belonging to the earliest schedule ES (cf. Fig. 3.5.5). After the initialization of partial derivatives r$i := df/dSi(ES), node sets C(i):= {i} for all i E V, and set V' := V, we select a sink possessing at most one
3.5. Relaxation-based approach for function classes 1 to 5
257
Legend:
Figure 3.5.4: Project network N with cash flows
Figure 3.5.5: Spanning tree G belonging to schedule ES predecessor, e.g. node 2. We remove node 2 from set V ' , and due to 4b2 > 0 we merge node 2 with its predecessor node 1 by setting C(1) := {1,2) and 41 := $1 4 2 = -0.01. Next, we consider sink 3 with 43 > 0. We remove node 3 from V' and merge node 3 with its predecessor node 0, i.e., we set C(0) := {0,3) and := 40 43 = 0.01. We proceed with sink 4. Since 4 4 < 0, we remove node 4 from V' and set ~4 := 1. For sink 7 to be considered next, we have $7 = 0. Thus, we remove node 7 from V' and merge node 7 with node 6: C(6) := {6,7) and (b6 := +6+q57 = -0.046. We go on with node 1 with 41 = -0.01. We remove node 1 from V' and set zi := 1 for all i E C(1), i.e., zl := 1 and zz := 1. Next, we consider node 6 with 46 = -0.046. We remove node 6 from V' and set z, := 1 for all i E C(6) = {6,7). Finally, node 5 with 4 5 = 0.036 is merged with node 0, which yields do := 0.046 and C(0) := {0,3,5). Thus, we set z0 := 0, z3 := 0, and z5 := 0. The resulting solution z to (SDD) is z = (0,1,1,0,1,0,1,1). Since z # 0, we descend from ES to the next vertex S' using Algorithm 3.5.6. The set of activities to be delayed is V S= {1,2,4,6,7). We remove all arcs ( 2 , j ) with j $! C(i) and i $! C ( j ) from EG, i.e. arcs (0, I), (1,4), and (5,6). Since V s # 0, we determine the stepsize u = minis3 - S1 613,S5 - Se - das,So - ST- JTo} = rnin{2,0,1) = 0. Thus, we delay the , remove activities from C(6) by zero time units, add arc (6,5) to E ~and nodes 6 and 7 from V a .For the next iteration of Algorithm 3.5.6, we obtain
+
+
258
Ch. 3. Minimization of General Objective finctions
- SI - 613,S7 - 52 - 6z7,S7- S4 - ci4,) = min{2,3,3) = 2. Accordingly, we delay the activities from C(1) by two time units, add arc (1,3) to E', and remove nodes I and 2 from V S . Finally, activity 4 is delayed by two time units, arc (4,2) is added to E G , and node 4 is removed from VS. Since Vs is now empty, we have moved to a new vertex S 1 = (0,3,6,3,5,8,7,9). For the steepest descent direction at S1,we obtain z = (0,1,1,1,1,1,1,l ) , and Algorithm 3.5.6 provides vertex S2 = (0,4,7,4,6,9,8,10). Since z = 0 is an optimal solution to (SDD) at S 2 , schedule S 2 represents an optimal schedule. Fig. 3.5.6 shows the spanning trees belonging to schedules S' and s2. a = min(S3
Figure 3.5.6: Spanning trees belonging to schedules S' and S 2 Next, we consider a dual version of our steepest descent approach (termed the dual flattest ascent m e t h o d in what follows). A former version of this method can be found in Neumann and Zimmermann (2002). The dual method is used later on to solve the resource relaxation in each node of the enumeration tree aside from the root in the course of a relaxation-based branch-and-bound procedure for PSI temp, 21- C $PCc, which is much more efficient than using the primal method. The proposed dual method can also be employed to determine a time-optimal schedule for PSwltemp,;il -
c cFpC..
Let S+ be an optimal solution to PSm1 temp, 21- C crBC; with arc set E. Let E' be a set of additional (distinct) arcs such that the timefeasible region of the corresponding instance with arc set E U E' is nonempty. For all i E V, let Bi E V be the set of activities j with (i, j) E E'. Starting with schedule S+, we determine a time-optimal schedule S'+ subject to the temporal constraints given by E U E' by stepwise enforcing the additional temporal constraints S, - Si 2 d,, for all ( a , j) E E'. For each activity i E V , all temporal constraints S, - Si2 with j E Bican be dealt with simultaneously. The xtivitiesi E V are considered one after the other in an
3.5. Relaxation-based approach for function classes 1 to 5
259
arbitrary order. Each time a constraint Sj - Si 2 hij has been enforced, the corresponding arc (i, j ) E E' is transferred from E' to E. The dual method consecutively considers the activities i E V. For fixed i E V, the additional temporal constraints Sj - Si 2 hi, ((i, j ) E El) are enforced by several iterations. Each iteration again consists of two phases: the direction-finding phase and the line-search phase. In the directionfin ng phase, we determine a normalized flattest ascent direction z a t current vertex S with z, - t, 2 1 for all j E Bi, i.e. a feasible direction z such that llzll = 1 and df/dz(S) is minimum. The line-search phase consists of a sequence of line-search steps and provides a new vertex S' of the current timefeasible region belonging to the project network with (expanded) arc set E . In contrast to "classical dual methods", all iterates except the last determined by our dual method do not necessarily represent time-optimal schedules with respect to the current timefeasible region. First, we deal with the direction-finding phase for an arbitrary i E V Bi be the set of activities j E B, with (cf. Schwindt, 2000). Let B' Sj - Si < 6+, where S is a vertex and G = (V, E G ) is some corresponding di spanning tree of project network N. A flattest ascent direction z a t S for which the differences Sj - S, ( j E B') are increased when moving from S into direction z, represents an optimal solution to the following flattest ascent direction problem (FAD): Minimize
cp(z) =
C c;,BSh+phzh
subject to z, - zh 2 0 zj - zi 2 1 hFV ~
((9, h) E E G )
(iE B')
As for the steepest descent direction problem (SDD), objective function p(z) of problem (FAD) represents the directional derivative of function f at point S in direction z, aside from a factor -1np 2 0. Constraints z, - zh 0 ( ( 9 ,h ) E E G ) and zo = 0 ensure that each feasible solution z to problem (FAD) represents a feasible direction a t schedule S provided that schedule S is not degenerate. Constraints z, - zi 2 1 for j E B' say that activity i is moved forward or activities j E B' are delayed and thus the differences Sj-Si are enlarged. The last inequalities of (FAD) normalize z by the maximum norm llzll = maxi," It,[.This normalization ensures that objective function cp is bounded on the feasible region of problem (FAD) even if the iterates are not time-optimal with respect to the current feasible region. Since we have assumed that there is a timefeasible schedule satisfying all temporal constraints given by E U E' ("expanded" arc set E ) , (FAD) always possesses a feasible and thus an optimal solution. Similarly to the steepest descent direction problem (SDD), there is an integral optimal solution z E {-1,0, lInf2 to problem (FAD). Moreover, there is always an optimal
>
260
Ch. 3. Minimization o f General Objective finctions
solution z t o (FAD) with either z E (-1, 0)n+2 or z E (0, lIn+'. Thus, problem (FAD) can be decomposed into two independent subproblems (FAD-) and (FAD ). Constraints zj - zi 2 1 for all j E B' in (FAD) are replaced by constraints zi = -1 and zj = 0 for all j E B' in (FAD-), and zi = 0 and zj = 1 for all j E B' in (FAD ). Now assume that both (FAD-) and (FAD+) possess a feasible solution, and let z- and z+ be optimal solutions to (FAD-) and (FAD ), respectively. Then f
f
f
z :=
{
z-, if
C c r ~ ~ h + ~ h
hEV
z f , otherwise
is an optimal solution t o problem (FAD). Obviously, z = z+ holds if the feasible region of problem (FAD-) is empty and z = z- if the feasible region of problem (FAD+) is empty. Both problems (FAD-) and (FAD ) can be solved by applying (slight modifications of) Algorithm 3.5.5 to (SDD) instances with additional constraint z € {-1,0)n+2 and z E (0, l P f 2 , respectively. Let V+ := {h € V I c r > 0) be the set of all activities associated with a (positive) payment and V- := {h E V I c r < 0) be the set of all activities associated with a disbursement. Then for both problems (FAD-) and (FAD+), -we obtain the corresponding (SDD) instance by setting cf := CLEv+ c ~ P - 1~ and CF ..- ChEvc~P-' - 1 for all j E B'. For (FAD-), the additional constraint z € (-1, OIn+' is ensured by replacing "If & < 0 then zh := 1 for all h 6 C(j)" with "If 4, < 0 then zh := 0 for all h E C(j)" in Algorithm 3.5.5. For (FAD+), the additional constraint z 6 {O,l)"+' is ensured by replacing "If $i > 0 then zh := -1 for all h E C(i)" by "If 4, > 0 then zh := 0 for all h E C(i)" in Algorithm 3.5.5. If the resulting optimal solution z satisfies zj - zi 2 1 for all j E B', z represents an optimal solution to FAD- or FAD+, respectively. Otherwise, the feasible region of FAD- or FAD+, respectively, is empty. Second, we consider the line-search phase for an arbitrary i E V. Given schedule S , the set of activities B' C B,, and a corresponding flattest ascent direction z E (-1, 0In+' U (0, l)n+2, the stepsize is chosen as f
+
u := min[min min ( S - Sh- bhl),min(dij h€Va ( h , f ) E E j€B'
+ 5""
-
Sj)]
(3.5.2)
rev\vs
That is, starting a t S we move on the half-line in direction z until a temporal constraint induced by an arc (h, 1 ) E E \ E~ becomes binding or an additional temporal constraint induced by an arc (2, j) with j E Bi gets satisfied. Moving from schedule S t o S + o z on the half-line with direction z is again termed a line-search step. Note that even if S is a vertex of the current time-feasible region ST,then S + uz E ST is neither necessarily a vertex of ST nor need to satisfy the additional temporal constraints Sj - S, 2 6, for some j E Bi.
3.5. Relaxation-based approach for function classes 1 t o 5
261
sz
4
Legend: Additional temporal constraints
mrm
3
2
1
5
1
2
3
4
5
Figure 3.5.7: Line-search phase with two line-search steps Similarly to the steepest descent procedure, we perform a sequence of linesearch steps for computing a vertex S' of the (reduced) current t i m e feasible region. The line-search steps are illustrated in Fig. 3.5.7, where ST denotes the time-feasible region belonging to the project network with arc set E and S> is the timefeasible region for the project network with arc set E U E'. Algorithm 3.5.9 summarizes the dual flattest ascent algorithm for problem PSmltemp,;il- C cF/3c. given a minimizer S+of objective function f on ST and a set of additional temporal constraints E'. (3.5.9) Algorithm: Dual flattest ascent m e t h o d for
PSooItemp,dl-
c cf,BC<.
Set S := S+ For all i E V d o Repeat Set B' := {j E V I ( i , j ) E E ' a n d S, -Si< 6,) Determine flattest ascent direction z for problem (FAD) at schedule S by solving problems (FAD-) and (FAD+) using Algorithm 3.5.5 If z 0 t h e n Determine vertex Sf by Algorithm 3.5.6, where stepsize a is chosen according to (3.5.2) Set S := S' E n d (+ if *) Until z = 0 End (* for *) Set S'+ := S R e t u r n schedule St+
+
262
Ch. 3. Minimization of General Objective Functions
Algorithm 3.5.9 can be used t o find an optimal solution t o an instance of PScmltemp,al- Cc:,BC- as follows. We start with the optimal solution S+ t o the corresponding instance with empty arc set E , i.e., S: := 0 if "c 0 and S: := 2, otherwise, and set E' := E. Then, in each iteration, for an activity i E V all temporal constraints S, - Si 3 dij ( ( i ,j) E E') are enforced. The resulting schedule S'+ satisfies all temporal constraints induced by E' = E and minimizes f on the time-feasible region belonging to the project network with arc set E'. However, the dual method cannot C crBC. with large be recommended for solving instances of PSooltemp, number of temporal constraints.
a(-
(b)
Resource- constrained project scheduling
Exact solution procedures for the resource-constrained problem PSlprec, - Cc;pCi using mixed integer programming or branch-and-bound techniques have been presented by Yang et al. (1992), Baroum and Patterson (1996a, 1999), and Icmeli and Erengiiq (1996). Based upon the recursive search procedure by De Reyck (1998) for the corresponding time-constrained problem, De Reyck (1998, Ch. 9) and De Reyck and Herroelen (1998b) have offered a branch-and-bound procedure for ~ S l t e m ~ , d C l - cfpci. Selle (2002, Sects. 2.1 and 2.2) has discussed lower bounds for problem PSltemp, 21 - C c:pCi based on the binary linear program (2.5.23) from Subsection 2.5.8 Cttai-c:Bt+p'xit. In where objective function cp is replaced by q ( x ) = CiEV particular, the continuous relaxation, a surrogate relaxation of temporal and resource constraints, and a Lagrange relaxation of the resource constraints have been employed for finding lower bounds. Next, we discuss the branch-and-bound algorithm for PSltemp,al - C cfBc, devised by Neumann and Zimmermann (2002) and Zimmermann (2000 and 2001, Sect. 4.3), which represents the most efficient procedure known thus far. This algorithm uses the relaxation-based enumeration scheme (Algorithm 3.5.1), the primal steepest descent procedure (Algorithm 3.5.7), and the dual flattest ascent procedure (Algorithm 3.5.9). Further components of the branch-and-bound method are an initial upper bound on the minimum objective function value, the search strategy, a preprocessing procedure, a lower bound, and several dominance rules (cf. Subsection 2.5.4). First, we show how to solve problem PScoltemp,dl- Cc:BC, for a node of the enumeration tree represented by some strict order 0. If 0 = 0, we compute a minimizer S+ of f on ST(O)= STusing the primal steepest descent method (Algorithms 3.5.7). For 0 0,we determine a minimizer S+ by the dual method (Algorithm 3.5.9) as follows. Let 0 be the parent node of node 0 in the enumeration tree and S+ be the corresponding minimizer of f on & ( a ) . Furthermore, let (i, B) be the minimal delaying mode belonging to node 0 . Staxting- with schedule St,we enforce the additional precedence constraints S j - S, 2 pi, j E B, using Algorithm 3.5.9 with E' := {(i, j ) I j E 3).
+
3.5. Relaxation-based approach for function classes 1 to 5
263
An upper bound on the minimum objective function value of f on S is
>
Recall that strict order 0 can be fathomed if f ( S + ) UB. If current schedule S+ is resourcefeasible and f ( S + ) < UB, we set UB := f ( S + ) . As search strategy, we perform a depth-first search (6.Subsection 2.5.4), where the child nodes 0 ' of current node 0 are pushed onto enumeration stack 0 according to nondecreasing lower bound values. The preprocessing procedure of Subsection 2.5.2 can be used for problem PSltemp,;il f independently of the underlying objective function f . For this, the upper bound on the shortest project duration is replaced with the prescribed maximum project duration d. The analogue to lower bound LBO = ES,+, for problem PSltemplC,,,, is now given by LBO = f ( S + ) , where S is a minimizer of objective function f on S T ( 0 ) . Furthermore, we make use of the dominance rules introduced in Subsection 2.5.4, which in general significantly reduce the number of minimal delaying modes that have to be considered. Algorithm 3.5.10shows the branch-and-bound procedure for PSI temp, 21 - C cFPCc.First, preprocessing (i.e. Algorithm 2.5.12) is performed and the upper bound UB is initialized according to (3.5.3). In each iteration, a strict order 0 is taken from stack R. S+ is the corresponding minimizer of objective function - C ~ f / on 3 ~set~ S T ( 0 ) . If S+ is resourcefeasible, a new best solution S* := S+ has been found, and the upper bound UB is chosen equal to f ( S f). Otherwise, a forbidden active set A ( S + ,t) is determined and the corresponding minimal delaying modes ( i , B ) are generated. All timefeasible and undominated strict orders 0' = tr(0 U { ( i , j ) I j E B ) ) with f ( S 1 + )< UB are added to sorted list A. The orders 0 ' in list A are then pushed onto stack R. These steps are reiterated until R becomes void. If UB has decreased at least once, a feasible schedule and, at the same time, an optimal schedule S' has been found. Otherwise, the feasible region S has been proved to be empty. f
(3.5.10) Algorithm: Branch-and-bound algorithm for
PSItemp,
al- c cFpC<.
I f P r e p m c e s s i n g ( d )= false then terminate (*there is no feasible schedule *) Initialize stack of orders R := {I} Set Vf := { h E V I cf > 0) and V - := { h E V I cf < 0 ) Initialize upper bound UB := CiEv+ cf,RES++p; + cr/3LSj+~j +1 Determine minimizer S+ of f on ST by the primal method (cf. Algorithm 3.5.7)
xjEV-
264
Ch. 3. Minimization of General Objective Functions
Repeat Pop an order 0 off stack R If S+ is resource-feasible t h e n S' := S+ and UB := f (S+) Else Determine a time t for which A(Sf, t ) is forbidden Compute the set B of all minimal delaying alternatives B for A(S+,t) (cf. Algorithm 2.5.2), that is, d o 8 := 0, MinimalDelayingAltematives(A(S+,t), 0,B) Initialize list A := 0 For all B E B d o For all i E A(S+, t) \ B d o Introduce precedence relationships between i and all activities j E B , that is, put 0' := t r ( 0 U {(a, j) I j E B)) If 0' is not dominated a n d ST(O') # 0 t h e n Determine minimizer St+ of f on ST(O1)by the dual method (cf. Algorithm 3.5.9) Iff (S1+)< UB t h e n A := A U (0') E n d (*if *) E n d (*for *) E n d (*for *) Push orders 0' from list A to stack R according to nonincreasing values
f (S") E n d (* if *) Until R = 0 If UB < Ciev+crpES.+pc
+ xjEVc ~ p L S j ++~1j t h e n r e t u r n S'
The efficiency of Algorithm 3.5.10 can be markedly improved by applying the preprocessing step to the search space S T ( 0 ) of each node 0 of the enumeration tree (constraint propagation, cf. Subsection 2.5.2). Furthermore, node fathoming can be made more effective by using an additional subset-dominance rule as follows (cf. De Reyck and Herroelen, 1998a, and Neumann and Zimmermann, 2002). If for two nodes 0 and 0' of the enumeration tree it holds that ST(O1) ST(0)and all descendants of 0 have been explored, then node 0' can be fathomed. Using depth-first search, the subset-dominance rule can be implemented efficiently by taking into account that for node Of, only child nodes 0 of ancestors of 0' need be considered (cf. Schwindt, 1998a, Sect. 3.4, and Zimmermann, 2001, Sect. 4.3). (c)
Experimental performance analysis
We discuss the performance of the steepest descent procedure (Algorithm 3.5.7) for problem PSm(temp,;il- CcfpC{ and of the branch-and-bound
3.5. Relaxation-based approach for function classes 1 to 5
265
method (Algorithm 3.5.10) for problem ~ S l t e m p , d l- c ~ ' P ~ < The analysis is based on the test set introduced in Subsection 2.8.2, where we have chosen ;i= 2.0ESn+1. In addition, cash flows c r have been drawn randomly according to a uniform distribution in set (-10, - 9,.. . ,101. The algorithms have been coded in ANSI-C and tested on a 333 MHz clock pulse PI1 personal computer operating under Windows NT 4.0. First, we deal with problem P S m l t e m p , d ( - C c r P c i , where Algorithm 3.5.7 has been applied to the 90 projects with 1000 activities each. We have chosen p = 0.9995. Moreover, we have considered five different cash flow scenarios by adding a constant a E (-11, -5,0,5,11} to each cash flow c r (i E V ) . Table 3.5.2 shows the mean running time in seconds (tw) and the mean number of iterations ( i t ) as a function of a.
Table 3.5.2: Mean computation time in seconds for projects with 1000 activities a=- 11
t~ it
0.27 2
a = - 5 a=O 0.32 16
a=5
a=ll
0.24 3
0.23 1
0.33 17
The last column of Table 3.5.2, where all cash flows are positive and thus the earliest schedule is optimal, indicates that most of the computation time is spent for computing the initial spanning tree. Second, we briefly discuss the performance of Algorithm 3.5.10, where again we have replaced minimal delaying alternatives by singletons B = { j ) if IA(S,t)I > 10 (cf. Subsection 2.8.2). For P = 0.999, = 2.0ESn+1, n E {10,20,50, l o o ) , and a running time limit of 100 seconds, Table 3.5.3 shows the percentage of instances for which an optimal schedule is found and optimality is proven (pOpt),the percentage of instances for which insolvability is shown (pi,,), the percentage of instances for which a feasible schedule is found whose optirnality cannot be shown (pnWt), and the percentage of instances for which the solvability status is unknown, that is, neither a feasible schedule is found nor insolvability is shown (pmk).
a
Table 3.5.3: Performance of Algorithm 3.5.10 for ~ S l t e m p , - C crPCc
Ch. 3. Minimization of General Objective finctions
266
Branch-and-bound algorithm for the earlinesstardiness problem Exact solution procedures for the resource-constrained problem PSltemp, 21 3.5.3
+
C w F E i WTT, using branch-and-bound techniques have been presented by Schwindt (2000) and for the case of precedence constraints by Vanhoucke et al. (2001a). Selle (2002, Sects. 2.1 and 2.2) has investigated lower bounds for problem PS(temp,;il C W ~ E , + wTTi based upon the binary linear program (2.5.23) where the objective function is replaced by p(x) = CiEV CtEAi[wf(d- t -pi)++ wT(t +pi -dz)+]xit. Again, the continuous relaxation, a surrogate relaxation where all temporal and all resource constraints are added up with positive weights to a single constraint, and a Lagrange relaxation analogously to (2.5.24) have been considered. We briefly discuss the branch-and-bound method presented by Schwindt (2000) for the resourceconstrained earliness-tardiness problem PSI temp, 21 C WEE, wTT~,that is, problem
+
Minimize
f (S) = x [ w ? ( d i - Si - pi)f iEV
+ wT(si + p i - di)+]
subject to S E S Most of the concepts and results discussed in Subsection 3.5.2 can also be used in the case of convex objective functions. In what follows, we briefly sketch the necessary adaptations of the steepest descent approach (Algorithm 3.5.7), its dual version (Algorithm 3.5.9), and the relaxation-based branch-and-bound procedure (Algorithm 3.5.10) for problems PSml temp, ;il C wFEi wTZ and PSI temp, 21 C wfEi + wTTi, respectively.
+
(a)
Time-constrained project scheduling
For PSmltemp,;il C w f E i + WTT,, i.e. problem Minimize f (S) = C[wf(d, - Si -pi)+
+ wT(Si +pi - &)+I
iEV
subject to S E ST we sketch a steepest descent solution procedure. The objective function f of the earliness-tardiness problem is continuous, convex, and differentiable both from the left and from the right (but not differentiable at points S with S, = d, - pi for some i E V). If Si pi 5 di (or Si + pi > di), then the left-hand partial derivative of function f with respect to Si at schedule S equals -wf (or w,' respectively). Analogously, the right-hand partial derivative o f f with respect to Si a t schedule S equals WT if Si +pi 2 dir and -WE, otherwise. For the directional derivative of f at S in direction z we have df /dz(S) = C i e dfilar(S), ~ where
+
if either Si +pi < d, or both S, +pi = di and zi 5 0
3.5. Relaxation-based approach for function classes 1 to 5
267
Recall that a (local) minimizer S of convex function f on ST generally does not represent a vertex of ST. Consequently, the spanning forest of project network N corresponding to an optimal solution to PSmltemp,lil C wEEi does not represent a spanning tree in general. A steepest descent direction r a t schedule S can be found by solving the following steepest descent direction problem (SDD)
+ WTT~
Minimize
af( S ) p(z) = &
subject to zj - zi 2 0 zo = 0 -l
((i,j ) E E G )
(zEV)
where G = (V, E ~ is)again the spanning forest of project network N belonging to schedule S (cf. Subsection 3.5.2). An optimal solution z to (SDD) represents a steepest descent direction at S exactly if r # 0. For r = 0, there is no feasible descent direction at S and thus S represents a local (and global) minimizer of f . Since first cp is linear on each octant { z E Rn+21 zj 2 0 for j E V' and zj 5 0 for j E V \ V') where V' V and second the coefficient matrix of (SDD) is totally unimodular, -1 5 z, 5 1 can be replaced by ri zi { - l , O , l ) for i E V. Again it can be shown that starting with earliest schedule E S , the sequence of schedules generated by the steepest descent algorithm is componentwise nondecreasing. Problem (SDD) with z E {O,l)n+Zcan be solved by Algorithm 3.5.5, where the initial value of 4: corresponds to the right-hand partial derivative o f f with respect to Si a t S . Given steepest descent direction z 2 0, stepsize u can be determined as follows. We stop moving from S in direction r if some activity i is completed at its due date d, (i.e., Si +pi = di)or if some temporal constraint becomes binding. Thus, we have ff
:=
[ iEV:S;+p;
i (i,j)EE:&>zj min ( S - S
-6
)
(3.5.4)
Recall that at the end of Algorithm 3.5.5, the value of dj coincides with the marginal benefit of uniformly delaying all activities h E C(j) (until either Sh ph = dh or Sh 6hl = Sl holds for an activity h E C ( j ) and an activity 1 E C(0)). Thus, we can improve the efficiency of the steepest descent procedure by performing a sequence of descent steps analogously to Algorithm 3.5.6, where in each iteration, a weak component of G' with node set C ( j ) is "connected" with node 0 or an activity h E C ( j ) is completed a t its due date dh. Algorithm 3.5.11, which is the analogue to Algorithm 3.5.7, summarizes the steepest descent approach for problem PSml temp, 21 C WEE, wTZ.
+
+
+
(3.5.11) Algorithm: Steepest descent method for PSool temp,;iJ
WEE; + wTT;.
Determine earliest schedule E S and a corresponding spanning tree G = (V, E G ) of project network N and set S := ES
Ch.3. Minimization of General Objective Functions
268
Repeat Determine steepest descent direction z at vertex S by Algorithm 3.5.5, if Si +pi < 4 and r+4i := otherwise where we set $i := If z # 0 then Find vertex Sf by Algorithm 3.5.6 (with stepsize u given by (3.5.4)) Set S := S' End (* if *) Until z = 0 Set S := S Return S+
-WE
wT,
f
If we want t o ensure that a set of additional temporal constraints is satisfied given an optimal solution Sf to P S w 1 temp, dl C wFE, wTZ, we use a dual method similarly to Algorithm 3.5.9. Note that due t o the convexity wTT,, each iterate of Algorithm 3.5.9 now of objective function C represents an optimal solution with respect to the current feasible region. In other words, as soon as all additional temporal constraints are met, the current iterate is an optimal solution.
+
WEE, +
(b)
Resource-constrained project scheduling
We briefly sketch the modifications of Algorithm 3.5.10 necessary t o solve problem PSltemp,;il C wfEi wTZ. For adapting Algorithm 3.5.10 to the earliness-tardiness problem, we only have t o modify the procedure for computing a minimizer S+ of objective function f on order polytopes S T ( 0 ) . For 0 = 0,we determine a minimizer S+ of f on ST(0)by Algorithm 3.5.11. For 0 # 0, we again use the dual method (Algorithm 3.5.9), where we obtain problems (FAD-) and (FAD+) := ChGv wf + 1 and $j := - ChEV - 1 for a11 j E B'. Note by setting that for problem (FAD-), we have to use the left-hand partial derivatives of f instead of the right-hand partial derivatives. The stepsize u for a corresponding flattest ascent algorithm is given by
+
WZ
u:=min[
min (d,-Si-p,) iEV:Si+p;
,(,,j)
pi; ,,z,
As initial upper bound, we use UB :=
(c)
(Sj-Si-JiJ),min(Sj-Si-6ij]]
xi," max(w",,
~EB'
wT(d - d,))
+ 1.
Experimental performance analysis
We discuss the performance of Algorithm 3.5.11 and modified Algorithm 3.5.10 for the time- and the resource-constrained earliness-tardiness problem, respectively. The performance analysis is again based on the test set introduced in Subsection 2.8.2, where we have chosen ;i= 2.0ESn+1. The weights WE and WT and due dates d, have been generated randomly according
3.6. 'Tkeebased approach for function classes 6 and 7
269
to a uniform distribution in sets { 0 , 1 , . . . ,100) and {0,1,. . . , r1.5ESn+1]), respectively. The algorithms have been coded in ANSI-C and tested on a 333 MHz clock pulse PI1 personal computer running Windows NT 4.0 as operating system. First, we consider problem PSmltemp,dl C w!Ei+wTTj, where we apply Algorithm 3.5.11 to the projects with 10, 20, 50, 100, 200, 500, and 1000 activities. Table 3.5.4 shows the mean running time t, in seconds and the mean number of iterations it both as a function of n.
Table 3.5.4: Performance of Algorithm 3.5.11 for ~Smltemp,;ilC w s i wTTi
+
Second, we turn to the performance of the modified Algorithm 3.5.10 for the resource-constrained problem PSI temp,dl C wf Ei WTT~and the projects with 10, 20, 50, and 100 activities. Table 3.5.5 shows the values of p,, picp, p,,t, and punk depending on the number of activities n (cf. Subsection 3.5.2c), where we have imposed a running time limit of 100 seconds.
+
Table 3.5.5: Performance of Algorithm 3.5.10 for ~ S l t e m ~ ,C d lWEE; w:T,
3.6
+
Tree-based approach for function classes 6 and 7
This section is devoted to exact methods for solving problems PSml temp, 21f and PSI temp, f with locally regular or locally quasiconcave objective function f as well as problem PSmItemp,;iJf with quasiconcave objective function f . In Subsection 3.6.1, we are concerned with a treebased enumeration scheme for solving PSmltemp, f and PSltemp,;il f with locally regular or locally quasiconcave objective function f . This enumeration scheme exploits Theorem 3.2.18 stating that each quasistable schedule S can be represented by a spanning tree of schedule network N(O(S)). Furthermore, we discuss how a reduced version of this enumeration scheme
270
Ch. 3. Minimization of General Objective Functions
can be used for solving problem PSooltemp,;il j with quasiconcave objective function j of class 5. Subsection 3.6.2 deals with some applications of the tree-based approach. In particular, we deal with exact solution procedures for the timeconstrained resource investment problem PSool temp, 21 C ck max rkt, the resource-constrained changeover time problem PSmltemp, a, %I C C OijQij, the resource-constrained resource levelling problem PSltemp, dl C ck C rz,, and the time-constrained resource renting ~ ~ ~special . problems are improblem PSmltemp,;il C Cc:cpkt + C ~ A +These portant from a practical point of view (cf. Ahuja, 1976, Chs. 11 and 12, Demeulemeester, 1995, Niibel, 1999b, 2001, Zimmermann, 2001, Sect. 1.2, Hartung, 2002, Sect. 1.4, and Neumann and Zimmermann, 2002).
3.6.1
General enumeration scheme
The treebased approach enumerates all vertices (or minimal points) of schedule polytopes ST(O(S))belonging t o feasible schedules S. Those vertices (or minimal points, respectively) can be represented by weighted spanning trees (or weighted spanning outtrees rooted at node 0, respectively) of the corresponding schedule network N(O(S)), cf. Proposition 3.2.16. Recall that schedule polytope ST(O(S)) is the set of all time-feasible schedules associated with schedule network N(O(S)). The arcs of network N(O(S)) correspond to temporal constraints S, - S, 6,. with (i, j ) E E or precedence constraints Sj - S, pi with (i, j ) E O(S). Moreover, schedule S is quasistable (or quasiactive) exactly if S is a vertex (or the minimal point, respectively) of ST(O(S)), cf. Theorem 3.2.10. Thus, each quasistable (or quasiactive) schedule S can be represented by a weighted spanning tree G (or a weighted spanning outtree rooted a t node 0, respectively) of schedule network N(O(S)), see Theorem 3.2.18. The tree-based enumeration scheme enumerates all quasistable (or quasiactive) schedules by generating spanning trees (or outtrees, respectively) of some schedule network N(O(S)). These spanning trees are constructed by consecutively fixing start times of activities such that in each step, a temporal constraint S, - Si 2 dij or precedence constraint S, - S, p, becomes binding. In this way, we construct a sequence of subtrees of some schedule network where in each step, exactly one node and one arc are added t o the preceding subtree (cf. Neumann and Zimmermann, 199913, Neumann et al., 2000, and Zimmermann 2001, Ch. 3). We consider problem PSooJtemp, j where f belongs t o class 7 of locally quasiconcave objective functions. Let r be the set of timefeasible schedules enumerated. Moreover, let set R contain the pair (C, S C ) for each partial schedule SC (or equivalently, for each subtree with node set C) already constructed. We start with r = 0 and R = {C, S C ), where C = (0) and So= 0. In each iteration, we choose an arbitrary pair (C, S C ) E R. If C = V, we add S = SC t o r. Otherwise, we extend the current partial schedule SC as
>
>
>
3.6. neebared approach for function classes 6 and 7
271
follows. For each j*E := V \ C, we determine the set V? of points in time t E [ES;. , LS;.] for which there is an activity i E C with (i) (ii) (iii) (iv)
t= t= t= t=
Si + 6iT, i.e., temporal constraint Sj. - Si 2 hij. is binding or Si - dj.,, i.e., temporal constraint Si - Sj. bpi is binding or S, +pi, i.e., precedence constraint S,. - S, 2 pi is binding or S, - p?, i.e., precedence constraint Si - Si. 2 pj. is binding.
>
This means that V j . is the set of all start times t E [ES:.., LS;] of activity j* such that there is a binding temporal or precedence constraint between j* and some activity i E C. Note that t E [ES;., LS~.]and t = Si 6iP imply t = ES:, and that t E [ES:, LS;] and t = Si - d j a i imply t = LS:. If there are some activities i E C with S, Jij. = ES: and some activities i E C with Si - bpi = LS;, D p coincides with decision set (cf. Subsection 3.3.8). For each t E V,., we then add the corresponding extended partial schedule SC' with C' = C U { j ) and Sj = t to R (that is, we expand the current subtree by adding node j* and arc ( i , j*) in cases (i) and (iii), or node j* and arc (j*,i) in cases (ii) and (iv)). Moreover, we have to update the earliest and latest start time of all activities j E V \ C', that is, we set ES,C' := m a x ( E S f ,SF d P j )and LS;' := min(LSf, Sj. - djj.). Next, we take a new pair (C, S C ) from R and proceed analogously until all partial schedules from R have been investigated. The corresponding enumeration scheme is given by Algorithm 3.6.1, where in each iteration all critical activities j E C (i.e., it holds ES; = L S f ) are scheduled immediately. To guarantee that no partial schedule is investigated more than once, we use another set R', which contains the pairs (C,SC) for all different partial schedules S C constructed. In contrast to R', set R contains only partial schedules that must still be investigated.
+
+
'q.
+
(3.6.1) Algorithm: Tree-based enumeration scheme for PSml temp, f with locally quasiconcave f .
For all i,j E V compute longest path lengths dij in network N If dij dji > 0 for some i , j E V then terminate (*there is no timefeasible schedule *) End (*if *) Set So := 0 and C := (0) For all j € V \ C d o E S j := doj and LSj := -djo If E S j = LSj then S j := E S j and C := C U{j) End (*for *) Initialize sets R := {(C, S C)), R' := R, and r := 0
+
272
Ch. 3. Minimization of General Objective finctjons
Repeat Remove some pair (C, SC) from set R If C = V t h e n r := I? U {SC} Else F o r a l l j* E V \ C d o
For all i E C d o If (i, j*)E E a n d ESP = S, + b,,. t h e n VT := D,. U {Si 6?} If ( j n , i ) E E a n d LSp = S, - bjei t h e n V,. := V,. U {S, - 6j.i} If ES.. 3 -< 2S. + p i 2 LS? t h e n Vi.:= VT U {Si+ p i ) If ESj* 5 S, -p,. 5 LSp t h e n Vj. := Vj. U {Si -pi.) E n d (*for*) For all t E Dp d o S,. := t , C := C U {j*} For all j E V \ C 1 d o If max(ES,,S,. + dYj) = min(LSj,Sj. - djj.) t h e n S, := max(ES,, S,. dj.,) and C' := C' U{j} E n d (* for *) If (C', SC') $ C2' t h e n R := RU{(Cf,Sc')} and R' := RrU{(C', S")} E n d (* for *) E n d (*for *) E n d (* if *) Until 0 = 0 Return r
+
+
Set r returned by Algorithm 3.6.1 contains all different schedules constructed. Algorithm 3.6.1 can easily be adapted t o the case of locally regular objective functions f . For the latter functions, there is always an optimal quasiactive schedule S, which corresponds t o a spanning outtree of schedule network N(O(S)) with root 0. Hence, we merely consider cases (i) and (iii) when computing sets Vj., which means that we only add arcs ( 2 , j*) with i E C and j* E V \ C t o the current subtree. In Niibel (1999b), a similar algorithm enumerating all quasistable schedules can be found, where instead of using set R', additional conditions for activity pairs (a, j ) considered in cases (i) to (iv) ensure that one and the same quasistable schedule is generated exactly once. Next, we show that when Algorithm 3.6.1 terminates, a t least one timeoptimal schedule has been generated provided that ST # 0.
3.6. nee-based approach for function ciasses 6 and 7
273
(3.6.2) Proposition. Let I' be the set of candidate schedules generated by Algorithm 3.6.1. Then (a) The enumeration scheme of Algorithm 3.6.1 generates all quasiactive schedules (that is, r = &AS) iff is locally regular (i.e. belongs to class 6) or all quasistable schedules (that is, r = &SS) if f is locally quasiconcave (i.e. belongs t o class 7). Moreover, the enumeration scheme is complete. In other words, Algorithm 3.6.1 generates an optimal schedule if and only if there is one. (b) Algorithm 3.6.1 terminates after a finite number of iterations.
Proof. (a) For simplicity, we only consider the case of locally quasiconcave functions f and thus quasistable schedules. As has been stated in Section 3.4, each vertex of an order polytope represents a vertex of some schedule polytope, too. Consequently, each quasistable schedule represents a vertex of some schedule polytope ST(O(S)) and thus corresponds to a spanning tree of schedule network N(O(S)). Moreover, all such spanning trees satisfy one of the four conditions (i) to (iv) for each arc (i, j) E EG. Therefore, all those spanning trees are enumerated by Algorithm 3.6.1 and hence all quasistable schedules S E STare generated by the treebased enumeration scheme. Since for ST# 0, there is always an optimal schedule for PScoltemp,;il f with locally quasiconcave objective function f which is quasistable, schedule S E 'I with smallest objective function value is an optimal schedule. (b) In each iteration, the current partial schedule is replaced by at most O(IVI2) extended partial schedules. Thus, set f2 becomes void after finitely many iterations.
F i g u r e 3.6.1: Project network with a single resource (3.6.3) Example. We return to the project of Example 3.3.4 depicted in Fig. 3.6.1 with four real activities and a single resource, where we choose 2 = 7 t o reduce the number of quasistable schedules. The corresponding longest path lengths in project network N are listed in Table 3.6.1.
274
Ch. 3. Minimization o f General Objective finctions
Table 3.6.1: Longest path lengths djj for network of Fig. 3.6.1
Applying the treebased enumeration scheme, we construct first the set of all quasiactive schedules Q A S and second the set of all quasistable schedules QSS. In both cases, the initial partial schedule added t o sets R and R' is SC= (0,0,4) with C = {0,3,4). For set &AS,we restrict ourselves t o cases (i) and (iii) when determining sets 'D,. for all j* E V \ C. Activities j* = 1,2, and 5 have the earliest start times ESf = 0, ES; = 0, and E S ~= 5, and the latest start times LSf = 5, LS$ = 4, and LS; = 7. In iteration 1, we consider partial schedule SC = (0,0,4) with C = {0,3,4). For activity j' = 1, there is an activity i E C with Si +bjl = E S f , namely i = 0. Moreover, we have ESf 5 S 3 + 5~ L S ~ and E S ~5 S4 +pd 5 L S f , that is, activity 1 can be started after the completion of activity 3 or 4. Thus, we obtain 'Dl = {0,1,5). For t = 0, we add partial schedule sC' = (0,0,0,4) with C' = {0,1,3,4) and for t = 1, partial schedule sC' = (0,1,0,4) with C' = {0,1,3,4) t o sets R and 0'. If we schedule activity 1 at time 5, activities 2 and 5 become critical and are thus scheduled at times E S ~ '= 4 and E S = ~ 7, respectively. We add partial schedule SC' = (0,5,4,0,4,7) with C' = {0,1,2,3,4,5) t o R and R'. Similarly, we obtain V 2= {0,1) and V 5= (5) and add partial schedules S" = (0,0,0,4) with C' = {0,2,3,4), SCr= (0,1,0,4) with C' = {0,2,3,4), and S C = (0,0,4,5) with C' = {0,3,4,5) to sets R and R'. In iteration 2, we remove partial schedule S C = (0,5,4,0,4,7) from fl and add schedule S' = S C to r because C = V. The corresponding spanning outtree of schedule S' is depicted in Fig. 3.6.2, where the bold arc corresponds t o a binding precedence constraint. In iteration 9, we remove partial schedule S C = (0,0,0,4) with C = {0,1,3,4) from R, obtain V 2 = {0,1) and 'D5= (51, and hence add SC' = (0,0,0,0,4) with C' = {0,1,2,3,4}, sC' = (0,0,1,0,4) with C' = {0,1,2,3,4}, and sC'= (0,0,0,4,5) with C' = {0,1,3,4,5) to sets R and R'. In iterations 4 to 7, we remove partial schedules S C = (0,0,0,0,4) and C S = (0,0,1,0,4) with C = {0,1,2,3,4) from R. In both cases, we have 'Dg = (51, and we add the resulting schedules S Z = (0,0,0,0,4,5) and S 3 = (0,0,1,0,4,5) to r. All partial schedules considered in iteration 8 are elements of R' and are thus deleted. In the next four iterations, we extend partial schedule SC = (0,1,0,4) with C = {0,1,3,4) to schedules
3.6. n e e b a s e d approach for function classes 6 and 7
Figure 3.6.2: Spanning trees representing schedule S1and
275
Sg,respectively
S4 = (0,1,0,4,5) and S5= (0,1,1,0,4,5), which are added to r. All schedules constructed further on are omitted because they belong to 0'. Set r contains all quasiactive schedules 5'' to S 5 . Fig. 3.6.3 shows the projection of quasiactive schedules S1 to S5onto the S, - Sz section (representing minimal points of corresponding schedule polytopes) and a covering of timefeasible region ST by some schedule polytopes (cf. Fig. 2.3.6). Note that S,(0(S1)) = {S1). We now turn to the generation of set QSS. Fig. 3.6.3 shows the S1 - S 2 section of the time-feasible region ST together with the projections S1to S I O of the vertices of all order polytopes of feasible strict orders 0 in set V onto the S1- Szsection.
Figure 3.6.3: Quasiactive and quasistable schedules - time-constrained case Recall that in Fig. 3.6.3, the vertices S1,. . . , S1° represent all pairs (S1,Sz) for which S = (0, S1, Sz,0,4, is a quasistable schedule for some Sn+l (cf. Example 3.2.14). Each of the vertices S 2 , . .. , S 7 , S9 in Fig. 3.6.3 represents two quasistable schedules: first, schedule-Tfl with -P S,+, = maxiepp,d(,+l)(sf 6i,,+1), and second, schedule s t w i t h S;+, = d, p = 2 ,...J,9. For p = 1,10, we h a v e 6 =S1a n d F O=z1O. F o r p = 8 , schedule Z8 is not quasistable. When determining sets 'D,., we additionally take into account cases (ii) and (iv). In iteration 1, we obtain set 'Dl = {O, 1,2,5). Activity 1 can now
+
276
Ch. 3. Minimization of General Objective Functions
be scheduled a t time t = S4 - pl = 2 (case (iv)). After several iterations, Algorithm 3.6.1 eventually provides set I?, which, in additiondo t_he ~ a s i a c schedules S1@ S5,contains the-quasistable schedules 'S3, s4,and S5 as well as 'S6,S6,57, 'S7,'S8,p, S9,and (cf. Fig. 3.6.3). Fig. 3.6.2 shows a spanning tree representing quasistable schedule p,where again the bold arc corresponds to a binding precedence constraint.
slo
s2,
Recall that each vertex of ST can be represented by a spanning tree of network N (cf. Proposition 3.2.16). Thus, for problem ~Scoltemp,alf , we can enumerate all stable schedules by Algorithm 3.6.1 considering only cases (i) and (ii) when computing sets 'D,.. For PSml temp, 21 f with quasiconcave objective function f belonging to class 5, there is always a time-optimal schedule which is stable. Let r be the set of all schedules constructed by Algorithm 3.6.1 considering only cases (i) and (ii). Then schedule S E r with minimum objective function value f ( S ) represents an optimal solution to PScoltemp,al f with quasiconcave function f . Consequently, the tree-based enumeration scheme can also be used within the relaxation-based approach to compute a minimizer S+ of f on some order polytope ST(O). Finally, we consider the resource-constrained problem PSI temp, f with f belonging to class 6 or 7. The tree-based enumeration scheme can be generalized to the case of scarce resources as follows (cf. Neumann and Zimmermann, 1999b, Neumann et al., 2000, and Zimmermann, 2001, Ch. 3). Time t E [ES;, LS;.] is added to set 'D,. if and only if t satisfies the inequalities rk(SC,r)+ r,.,, 5 Rk for all T E [t,t+ p j * [ and k E R
(3.6.1)
i.e., if the start of activity j*at time t does not result in resource requirements exceeding the resource capacities Rk while j*is in progress. Note that if for all activities j E we have V j = 0, then partial schedule SC cannot be extended to a feasible schedule. As far as the computation of an optimal schedule is concerned, problem PSltemp,al f is generally "easier" than the corresponding time-constrained problem PScoltemp,;il f because the resource constraints allow certain partial schedules to be ruled out immediately. (3.6.4) Example. We consider the project of Example 3.6.3 depicted in Fig. 3.6.1 and assume that R = 2. Again, we first determine the set QAS of quasiactive schedules, that is, we only consider the cases (i) and (iii). A covering of feasible region S by some schedule polytopes is depicted in Fig. 3.6.4. Iterations 1 and Icoincide with those for the resource-unconstrained case (cf. Example 3.6.3). In iteration 3, again partial schedules SC' = (0,0,0,0,4) with C' = {0,1,2,3,4), sC1 = (0,0,1,0,4) with C' = {0,1,2,3,4}, and SC' = (0,0,0,4,5) with C' = {0,1,3,4,5) are constructed. Only partial schedule SC' = (0,0,1,0,4), however, is added to R and R' because the two other partial schedules are not resource-feasible. Going on, we finally obtain
3.6. Zhe-based approach for function classes 6 and 7
277
set I ' of candidate schedules, which consists of the quasiactive schedules 3' to T4.Fig. 3.6.4 shows the projections S1 t o S4 of quasiactive schedules T1 to onto the 51- Sasection (representing minimal points of corresponding schedule polytopes) and a covering of feasible region S by some schedule polytopes. In Fig. 3.6.4, vertices S1,.. . , S7 represent all pairs (Sl, Sz) for is quasistable. This means that each which schedule S = (0, S,, S2, 0,4, ofpthe vertices S1,. . . , S7 represents two quasistable schedules: first, schedule S = m ~ E p , ~ ( , + l l ( ~6i,,+1), f and second, schedule 3'"with - with= d, p E (1,.. . ,7). To generate the set QSS of all quasistable schedules, we additionally have to consider the cases (ii) and (iv). Apart from quasiactive (and thus = m%ep,db+ll(Sr + Ji,++l), quasistable) schedules 3' to 34 with p = 1,.. . , 4 , we obtain quasistable schedules S5,S6,S7 with T$+l5 m a ~ ~ ~ ~ ( ~ +di,,+~), ~ ) (pS=f 5,6,7, and quasistable schedules 3' to S with S[+,= d, p = 1,. . ,7. Note that for p = 4, we have T4= s4.
Quasiactive and quasistable schedules - resource-con-
Branch-and-bound algorithms for resource investment, resource levelling, and resource renting problems
In this subsection, we discuss branch-and-bound procedures for three project scheduling problems with objective functions from classes 6 or 7. These scheduling problems are important from a practical point of view. In practice, we generally can procure or rent as many resource units as we need. Moreover, proper resource cost management often spells the difference between a financial gain or loss on the project. Thus, we consider the time-constrained resource investment and resource renting problems. On the other hand, different kinds of manpower which cannot be rented and should be used evenly over time are often available only in limited number. Thus, we study the
278
Ch. 3. Minimization of General Objective Functions
resource-constrained resource levelling problem where the total squared utilization cost is to be minimized. Moreover, we briefly sketch a branch-andbound method for the resource-constrained changeover time problem. The branching strategy for the branch-and-bound procedures to be discussed is always specified by the tree-based enumeration scheme. These algorithms differ in the lower bounds on the objective function value for partial schedules. (a)
The resource investment problem
Let ck 2 0 again denote the procurement cost per unit of resource k E R. Then the time-constrained resource investment problem PSltemp,al C ck max rbt reads Minimize
f (S) =
Ck
kER
max_r k (S, t) O
subject to S E ST Exact solution procedures for the resource investment problem with precedence constraints have been presented by Mohring (1984) and Demeulemeester (1995). For the latter problem, Drexl and Kimms (2001) have devised upper and lower bounds based on Lagrange relaxation and column generation techniques. The case of general temporal constraints has been discussed by Nubel and Zimmermann (1998), Zimmermann and Engelhardt (1998), Nubel (1999a,b), and Neumann and Zimmermann (2000). The procedure by Mohring (1984) is based on algorithms for recognition of so-called interval graphs and the orientation of their complements. The branch-andbound algorithms by Demeulemeester (1995) and Nubel (1999a,b) enumerate the possible alternatives of how to resolve (fictitious) resource conflicts which arise from upper bounds on the maximum resource demands. Zimmermann and Engelhardt (1998) and Neumann and Zimmermann (2000) devise a timewindow based branch-and-bound procedure enumerating integral start times of activities. For the case of general temporal constraints, Selle (2002, Ch. 2) has developed lower bounds based on continuous, surrogate, and Lagrange relaxation techniques as well as interval workload considerations (see Subsections 2.5.8 and 3.6.4). In what follows, we sketch a branch-and-bound procedure which is based on the tree-based enumeration scheme from Subsection 3.6.1. At first, we consider two lower bounds on theminimum objective function value on ST.Obviously, is a lower bound on objective function value f (S) for each time-feasible schedule S which can be obtained by extending current partial schedule SC. Next, we show how to improve lower bound L B o ( S ~ )by increasing the resource utilization rk(SC,t)for some t E [ 0 , 4 and k E 72. To this end, we perform the following two steps (cf. Zimmermann and Engelhardt, 1998).
3.6. nee-based approach for function classes 6 and 7
279
c
(i) Let again := V \ C and E C be a set of activities not yet scheduled such that [ES;, LC':[ n [ESS,LC:[ = 0 for all h, j E 2with h # j . The latter condition implies that for any extension of S C , there are no two overlapping aGivities h, j E Consequently, the partial schedule SC' with C' := C U C which reults from scheduling all activities j E 2 at their minimum cost start times ST (cf. Subsection 3.3.1) yields a lower bound on the objective function value of any timefeasible extension of 9.Notice that_ the earliest and latest start times of the remaining activities j E \ C not yet scheduled are not updated. (ii) Let F := V \ C' be the set of activities which have not been considered thus far and let
be the workload of those activities on resource k E R. We take workload wr,(Cr)into account by splitting up the activities j E C' into interruptible subactivities with resource demand one (cf. Subsection 2.5.3). For each k 6 R, these subactivities are then scheduled a t points in ' which rk(sC',t*) is minimum. For illustration, we time t* E D T ~ for may think of the "canyons" of resource profiles rk(Sc',.), k E R,as containers which are filled "unit by unit" with the workload of the subactivities, see Fig. 3.6.5. The resulting resource profiles are denoted by r r (S C', .). Let D T ~ , " be the set of jump points of profiles r r ( s C ' .) , and R W ( S C ' ) be the IRI x I D T ~ ~matrix ~ ' ( with elements r r ( S C ,t ) where k E R and t E D T ~ ? " Then .
is a lower bound on f ( S ) for each time-feasible extension S of S C . Given some resource profile r,+(sc',.) and corresponding set DT", profile r T ( s C '.), can be computed in O(lVl log IVI) time. Requirement at time t
-
4
-
Legend:
3
rh
2 1
(sC', t)
~,k(?~)
t 1
2
3
4
5
6
7
8
9101112131415
Figure 3.6.5: Resource profile rk(Sc',.) and workload wk(Cr) Algorithm 3.6.5 represents a branch-and-bound procedure for the timeconstrained resource investment problem using the treebased enumeration
280
Ch. 3. Minimization of General Objective finctions
scheme (cf. Algorithm 3.6.1). First, the earliest and latest start times are determined and the initial upper bound UB = f (ES) on the minimum objective function value is computed. In each iteration, a pair (C, S C ) is popped off stack R. If C = V, a new best solution S* := SC has been found, and the upper bound UB is decreased to f(S'). If LBw(SC) given by (3.6.3) is smaller than upper bound UB, we extend the current partial schedule by considering cases (i) and (ii)from Subsection 3.6.1. All resulting pairs (C', sC') whose lower bounds LBO(S~')given by (3.6.2) axe smaller than UB and which have not been investigated thus far are added to list A (auxiliary list for sorting). The pairs (C,S C) in list A are then sorted according to nondecreasing values LBO(SC)and pushed onto stack R. The iterations are repeated until R becomes void. (3.6.5) Algorithm: Branch-and-bound algorithm for
~ ~ o o l t e r21nC~ c,k max r k t . Set SO := 0 and C := (0) For all j E V \ C do ESj := do, and LS, := -djo If ESj = LS, then set S, := ESi and C := C U {j) End (*for *) Initialize stack R := {(C, SC)) and set R' := R Initialize best solution S*:= ES and upper bound UB := f (ES) Repeat Pop pair (C, S C ) off stack R If C = V then S' := SCand UB := f (S*) Else if LB W(S C) < UB then Initialize list A := 0 Forall j*€ V \ C d o Vj. := 0 For all i E C do If (i, j*) E E and ES,. = Si 6,. then VF := Vj* U {Si dij.) If ESj. 5 Si +pi 5 LSp then Vp := V? U {Si+pi) End (*for *) For all t E Vj. do Sj. := ti C' := C U{j*) For all j E V \ C 1 do If max(ESj, Sj. + djmj)= rnin(LS,,Sj. - djj.) then Sj := max(ESj, Sj. dpj) and C' := C' U{j) End (*for *) If (C', 5') 4 0'and LBO(SC) < UB then
+
+
+
3.6. neebased approach for function classes 6 and 7
281
A := A U{(C', s")) and R' := R' U{(C', g')) End (*for *) End (c for *) Push partial schedules (C', s C f )from list A to stack R in order of nonincreasing values LBO(SC') End (*if *) Until R = 0 Return S' To adapt Algorithm 3.6.5 to the resource-constrained resource investment problem, we perform preprocessing (Algorithm 2.5.12) a t the beginning of the algorithm. Furthermore, point in time t E [ES;, LS$] is only added to set Vy if the start of activity j*at time t does not result in resource requirements exceeding the resource capacities Rk while j' is in progress. A slight modification of Algorithm 3.6.5 allows us t o use it for solving the resource-constrained changeover time problem PSI temp, 2, sijl C C B i j a i j (see Hartung, 2002, Sect. 2.2). Since the precedence constraint S,. 2 Si + pi + 29f,. between an activity a E C and activity j* also depends on resource k E R , we consider every point in time t = Si + p i 29$. E [ES?.., LS:*] (i E C, k E R ) for which the resulting partial schedule S' = SCu{j') is changeover-feasible. The latter condition is satisfied precisely if for each resource k' E R,the value rk,(S1)of a minimum flow in network Gk'(C U {j)) with node set ((C U{j)) r l Vkt) U 10, n 1) induced by partial schedule S' is less than or equal t o capacity Rkt (compare inequality (2.14.5)). Accordingly, in Algorithm 3.6.5 we replace statement
+
+
I~ES .< . S. +pi 3 - z
< LSy then Vj.
:= Vy U {Sa +pi)
For all k E R with rj.k > 0 do If EST 5 Si +pi ,29: 5 LS,. then Put S' := ScU{j')where Sj, := Si +pa +
+
296,
If Tkl(Sr) 5 Rkl for all k' E R then Vp := 'Dj. U {Si+pi End (* if *) ~ k (*dfor *)
+ 29%)
As lower bound LBO(SC) on the minimum changeover time given partial schedule sC we may use the sum of the minimum flow costs in networks GYC) (k E R) belonging to partial schedule SCwith unit costs 29fi on arcs ( 2 , j). The corresponding minimum-cost flow problems can be solved by cost scaling algorithms in O(lC1310g(WkJCI))time, where Wk is the maximum unit cost in network Gk(C) (see e.g. Ahuja et al., 1993, Sect. 10.3). Instead of a
282
Ch. 3. Minimization of General Objective Functions
workload-based lower bound LBW(S C ), we may use the time-window-based lower bound LBT(S C ) proposed by Hartung (2002, Subsect. 2.3.1). The latter lower bound can be computed by considering the minimum-cost flow problems in the following expanded networks with node sets v k = Vk U {O,n + 1). For each pair (i, j ) of activities i, j E Vk, i j , with L S 2 ~ E S +pi ~ + Ot, contains a corresponding arc ( i , j ) with unit cost 85, where ESf := Sf and LS; := S; for all i, j E C. Lower bound LBT(S C ) is then obtained by summing up the resulting minimum changeover times for resources k E R. Since network GYC) is the subnetwork of network Gk induced by node set (C r l Vk) U {O, n + 1) and all changeover times O h are nonnegative, it holds that LBT(S C ) 2 LBO(SC). Aside from a branch-andbound method based on the above enumeration scheme, Hartung (2002) has also proposed truncated branch-and-bound and priority-rule methods for problem PSI temp, a, sij I C C dijQij. Next, we briefly sketch the modifications necessary for applying Algorithm 3.6.5 to resourceconstrained resource levelling and time-constrained resource renting problems whose objective functions are locally quasiconcave.
+
ck
(b)
Resource levelling problems
We consider the resource-constrained resource levelling problems PSltemp, dl j where j is one of the functions C ck C ri,, C ck C okt, or C C c:Af r k t ckAprkt. For resource levelling problems with precedence constraints, exact algorithms based on (complete) enumeration, integer programming, or dynamic programming techniques have been devised by Ahuja (1976, Ch. 11), Easa (1989), Bandelloni et al. (1994), and Younis and Saad (1996). For problems with general temporal constraints, Neumann and Z i e r m a n n (1999a and 2000) have proposed a timewindow based branch-and-bound procedure that enumerates integral start times of activities. For the latter problem with objective function C ck C oht or C C c:A+rkt c;A-rkt, Selle (2002, Ch. 2) has devised lower bounds based on continuous, surrogate, and Lagrange relaxation techniques as well as interval workload considerations, which are sketched in Subsection 3.6.4. To adapt Algorithm 3.6.5 to resource-constrained resource levelling problems with locally quasiconcave objective function, we additionally have to take into consideration cases (ii) and (iv) from Subsection 3.6.1 when determining sets Dj.. Due to the resource constraints, a point in time t E [ES$, LS;] satisfying one of the cases (i) to (iv) is only added to set Vj- if inequality (3.6.1) is satisfied. Furthermore, lower bounds LBO and LB W on the minimum objective function value as well as an upper bound UB on the objective function value have to be determined. An r-dependent objective function f for which rk(sC1,t) 5 rk(sC2,t) for all k E R and all t E [0,4 implies F(IZ(sC1)) 5 F(R(s")) is called r-monotone. Obviously, objective functions of types C ck C rit and
+
+
3.6. Tree-based approach for function classes 6 and 7
283
C ck C okt are r-monotone. If f is an r-monotone objective function, then LBO := F ( R ( s C ) ) represents a lower bound on f (S) for each timefeasible extension S of SC and each C C V. For objective functions of types C ck C rit and C ck C ohtr the increase
in the objective function value F(R(S C )) is smallest, if we "schedule" some additional workload (represented by interruptible subactivities with resource demand of one, cf. Subsection 3.6.2a) at points in time t* where rk(SC,t*) is minimum. Thus, LBW := F ( R W ( s C ) )is a lower bound on f(S) for each time-feasible extension S of S C . Note that the latter statement does not hold 112 for general r-monotone functions f (e.g., for C ck Crkt ). If f is r-monotone, U B := F ( R ) with R = (Ciev T ~obviously ~ is )an upper bound on the objective function value for each feasible schedule. c~A+rst+c;A-rkt. Given parFinally, we turn t o objective function tial schedule SCand a time-feasible extension S of SC, we have rk(sC,t ) rk(S, t) for all k E and o 5 t 5 ;i and hence max,,[,;, r b ( 9 , t) 5 max,,[,;, rk(S, t ) . Consequently,
<
a
represents a lower bound on f (S) for each time-fegible extensions S of SC and each C E V. Given partial schedule S C, let E S and ~ LtCCbe the earliest and latest point in time at which some activity j E C can be started and completed, respectively. Then,
represents a second lower on f for each timefeasible extension of 9.Figuratively speaking, lower bound LBW takes only those parts of the resource profiles r k ( 9 , .) into account which cannot be affected by scheduling activities j E C. As initial upper bound, we use U B := CliE~(c:+cL) CiEV r i k 1.
+
(c)
The resource renting problem
Let again c i 2 0 be the fixed renting cost incurred per unit of additional amount of resource k E 72 rented and c; 2 0 be the variable renting cost per unit time and per unit of resource k. Then the time-constrained resource reads renting problem PSwl temp, dl C C c;lpkt
+
'(') = subject to S E ST
2
min
qk(S,J?~~(S,.)
[c: /'lpk(S
t) dt
+ C!
Atpkt] t€Jk
Recall that pk(S,t) is the amount of resource k rented a t time t given schedule S and that pk(S,.) is a right continuous step function on [O,qwith finitely
~
~
284
Ch.3. Minimization of General Objective mnctions
many jump points. Moreover, recall that Jk is the set of jump discontinuities of function v k ( S ,.) including time 0 if pk(S,0 ) > 0, 7,;. denotes the smallest of those jump points, and A+pkt is the increase in the amount of resource k rented at time t , cf. (3.1.7). In addition to the increase A f v k t , we need the corresponding decrease
in what follows, where rt is again the largest jump point of function cpk(S,.) less than t , cf. (3.1.6). Since f ( S ) 5 f (S') if r k ( S ,t ) 5 r l e ( S tf ,) for all k E R and all t E [0,;i], objective function f is r-monotone. A branch-and-bound procedure for the discrete-time resource renting problem can be found in Niibel (2001). Since there is always an optimal quasistable schedule for PSmltemp, 21 C C c:cpkt c { ~ +(cf. ~ Subsec~ , tion 3.3.8), the tree-based enumeration scheme can again be used for solving this problem. To adapt Algorithm 3.6.5 to the time-constrained resource renting problem, we additionally have to consider cases (ii) and (iv) from Subsection 3.6.1 when determining decision sets Vj..For each quasistable schedule S constructed, an optimal renting policy and the corresponding total renting cost are computed. Furthermore, lower bounds LBO and LBW as well as initial umer bound UB have to be adapted to objective function
+
C C cicpkt + c { ~ + & t .
At first, we deal with the computation of an optimal renting policy
'p*(S,.) = (cpi(S,. ) ) k E R for given schedule S . Recall that for each resource k E R,cp;(S,.) minimizes the total renting cost ~ " , ~ ' ~ k ( ~ ,dt+ t ) c{ CteJ,A+cpkt on the set of all step functions v ~ ( S.), 2 rI(S,.). If C: = 0 for some k E R,it is optimal to rent the maximum amount of resource k '
required at the beginning of the project and to release this amount at the for all project completion. This means that @ ( S ,t ) = max,,,,ark(S,~) . t E [O,q. For c{ = 0, it is optimal to allocate and to release the required resource for each activity i E V at its start and completion time, respectively. This means that & ( S , t ) = r k ( S ,t ) for all t E [0,3.Now let k E R be a r e source with C: > 0 and > 0. In this case, it cannot be optimal to increase or decrease the amount of resource k rented at points in time a t which no activity is started or completed, respectively. Thus, it holds that ~
A-cp;,
=
0 for all t $! CT
A+& = 0 for all t
4 ST
where ST and CT are again the sets of all start times and completion times, respectively, of activities. This means that the step functions p*(S;) are well-defined by specifying cp;(S,t) for all k E R and all t E DT, where DT = ST U C T . Note that consequently, for each k E R,the set J k of jump discontinuities of cp;(S, .) is a subset of DT.
3.6. %based
approach for function clases 6 and 7
285
In general, renting policy cps(S, .) = rk(S,.) for resource k and schedule S does not represent an optimal renting policy. The following example shows that policy cpk(S,.) = rk(S,.) can be improved by reducing fixed renting costs.
Figure 3.6.6: Gantt chart and optimal renting policy ipy(S,.) for schedule S
(3.6.6) Example. We return t o the project of Example 3.2.3 with a single resource and = 14 (cf. Fig. 3.2.1). The variable renting cost is c" = 2, and the fixed cost is cf = 5. Fig. 3.6.6 shows the Gantt chart for schedule S = (0,5,5,0,4,9,10) with set of decision times DT = {0,1,4,5,7,9,10). For renting policy cp(S, .) = r(S, .), we obtain a variable cost of 22, a fixed cost of 35, and hence a total renting cost of 57. The two resource units released at points in time 1 and 7 are reallocated at points in time 4 and 9, respectively. To reduce the fixed cost, we can ad tionally rent two resource units in time interval [I,4[ or in time interval [7,9[. Increasing the resource amount rented in interval [I,4[ reduces the fixed cost by 10 and increases the variable cost by 12. Renting two resource units in time interval [7,9[ reduces the fixed cost by 10 and increases the variable cost by 8. In the latter case, the total renting cost is reduced by 2. The resulting renting policy cp*(S,.) depicted in Fig. 3.6.6 is optimal.
Example 3.6.6 illustrates that for an optimal renting policy, it may be necessary t o rent resources at points in time where they are not required for schedule S . For resource k E 72, consider renting policy cpk(S,.) and two consecutive decision times tl, t2 E DT with A-cpkt, > 0 and A+cpkt2> 0. Then an increase of min(A-cptt,, A+cpkt2)in the resource amount rented during time interval [tl, t2[ reduces the total renting cost by - c i ( t z - tl)) X min(A-cpktl, A+pkt,). Moreover, we note that a renting policy which results from a feasible policy by increasing the resource amount rented a t some points in time is feasible as well. Thus, we have
(4
(3.6.7) Proposition. Let S be a feasible schedule, k 6 R be a resource with c; > 0 and c{ > 0, and cpk(S, .) be a feasible renting policy for resource k E R. Furthermore, let tl, t2 € DT be two consecutive decision times with A-cpkt, > 0, A+pkt2 > 0, and tz - tl < c i / c i . Then feasible renting policy p',(S, .) given by p k ( S , t ) := cpk(S,t) for t E DT \ {tl) and ~ ~ ( S , t:= l )cpk(S, t l )
+
286
Ch. 3. Minimization of General Objective mnctions
min(A-cpktl,A+cpkt2)yields a total renting cost which is by the amount of (c{ - c;(tz - t l ) ) min(A-cpkt,,A+cpkt2)smaller than the total renting cost of renting policy cpk(S,.). Proposition 3.6.7 suggests the following procedure for computing an optimal renting policy cp;(S,.) for resource k with e; > 0 and ci > 0. Let DT = Itl, ...,t , ) be the set of all decision times for schedule S where 0 = tl < tz < . . . < t, = We start with the renting policy given by cpk(S,t) := rk(S,t ) for all t E DT. At each point in time t , E DT \ I t l ) at which resource units are released, the corresponding pair (t,,A-yokt) is pushed onto stack a. Moreover, at each point in time t , E DT a t which the resource amount rented is increased, we consecutively examine all elements of stack R. As long as there is a pair ( t x ,A-rpkt,) on R with t , - t x < c { / c ~ , , an increase in the resource amount rented at points in time t , E DT with X p < p by min(A-ipkt,,A+cpkt,) results in a renting policy with less total renting cost. Note that if t , - t x 2 ci/c; holds for the top element on stack R, all elements on R can be deleted. Algorithm 3.6.8 summarizes this procedure for computing an optimal renting policy p',(S, .) for resource k given schedule S .
<
(3.6.8) Algorithm: Computation of optimal renting policy rp;(S, .) for resource k. Set R := 0 and cp;(S,0 ) := r k ( S 0, ) For p := 2 t o Y d o cp;(S, t,) := rk(S,tp) I f A-rp;tp > 0 t h e n push (t,, A-cp;tr) onto R Else if A+cp;,* > 0 t h e n While A+cpitl > 0 a n d R $1 0 d o Pop ( t x ,A-cp;,,) off stack R If t , - t A < c$/c; t h e n t h e n push (tx,A-rpitA - A+ If A-p;,, > Forp=Xtop-ldo
rp;(S,t,) := cp',(S,t,) E n d (* if *) E n d (* while *) E n d (* if *) E n d (*for *)
onto R
+ min(A-cp;,,, A+cpkt,)
Since DT contains at most 2n elements and each pair ( t ,A-lp;,) is pushed a t most once onto R, the time complexity of Algorithm 3.6.8 is O(IVI2). Finally, we sketch lower bounds LBO and LBW as well as an initial upper bound UB for function CCc;cptt + c ~ A + I , o Since ~ ~ . for all k E R,
3.6. nee-based approach for function classes 6 and 7
rk(Sc, t) 5 r k ( S , t) holds for all extensions S of SC and all t E r-monotone,
287
[O,qand f is
represents a lower bound on f (S) for each time-feasible extension S of SC and each C V. Given partial schedule S C , maxtEl0,;il rk(SC,t) is the minimal amount of resource k which must be allocated. Moreover, each activity a E V incurs an unavoidable renting cost of cV,rikpi for resource k. Hence
represents a second lower bound on f for each timefeasible extension of SC. LBW is in general tighter than LBO if only a few activities have already been scheduled. As initial upper bound, we use
Recall that we additionally have to consider cases (ii) and (iv) from Subsection 3.6.1 when adapting Algorithm 3.6.5 to problem PScoltemp,;il C C cipkt c { ~ + ~ kMoreover, t we use Algorithm 3.6.8 t o compute lower bound LBO(SC) for each (partial) schedule SC constructed as follows: For each k E R, we determine an optimal renting policy p;(SC, .) 2 rk(SC, .) by Algorithm 3.6.8 and set
+
To this end, we replace in Algorithm 3.6.5 If (C', SC') 4 0' and LBO(SC)< UB t h e n h := A U{(C', S C')) and a' := 0' U {(C', sC'))
For all k E R do Determine an optimal renting policy &(sC', .) for partial schedule by Algorithm 3.6.8
c,,,
sC'
LBO(S~'):= C",~P;(S~', t) dt+zkE, c{(cp;(sC', o ) + c ~ ~A+& ~, If (C', sC') 4 a' and LBO(S~')< UB t h e n h := A U{(C', sC')) and R' := R' U{(C', sC'))
288
Ch. 3. Minimization o f General Objective Functions
Note that if C = V and the total renting cost for the corresponding schedule S is smaller than the current upper bound UB, we have found a new best solution, i.e., we set S' := S and UB := f (S) = LBO(S). If R = 0 in Algorithm 3.6.5, the current best solution S is optimal and pi(S*, .), k E R,is the corresponding optimal renting policy. If we deal with the resource-constrained resource renting problem PSI temp, 21 C C ciptt r $ ~ + p k , ,we additionally perform preprocessing (Algorithm 2.5.8) at the beginning of the branch-and-bound algorithm. Moreover, a point in time t E [ES?, LS;] is added to set V y if and only if the start of activity j* at time t does not result in resource requirements that exceed the resource capacities Rk while j' is in progress.
+
3.6.3
Experimental performance analysis
We discuss the performance of Algorithm 3.6.5 and its modifications for the time-constrained resource investment problem, the time-constrained resource renting problem, and the resource-constrained resource levelling problem with objective function Cck C T : ~The performance analysis is based on the small projects with 10 and 20 activities of the test set introduced in Subsection 2.8.2, where we have chosen ;i= r1.5 ES,+,1. The costs ck, c;, and c i have been generated randomly according to a uniform distribution in set {0,1,. . . ,100) such that the cost ratio ci/ci equals 115. The algorithms have been coded in ANSI-C and tested on a 333 MHz clock pulse PI1 personal computer operating under Windows NT 4.0. We have imposed a running time limit of 100 seconds. First, we consider the time-constrained resource investment problem PSmltemp,dl Cckrnaxrk, and apply Algorithm 3.6.5. Table 3.6.2 shows the percentage of instances p,, for which an optimal schedule is found and optimality is proven and the mean relative deviation devLBof the best objective function value found from lower bound LB = max(LBO(SC), LBW(S')) with C = (0) and So= 0. d l maxrkt Table 3.6.2: Performance of Algorithm 3.6.5 for ~ S w l t e m ~ ,Cck
Second, we deal with the resource-constrained resource renting problem PSmltemp,al C CcI(okt C { A + ~ and ~ , apply the adapted version of Algorithm 3.6.5. In contrast to the resource investment problem, we now have to enumerate quasistable schedules instead of the quasiactive ones. Furthermore, for each schedule constructed, an optimal renting policy must be computed. Table 3.6.3 shows the performance criteria p,t and devLa for the
+
3.6. Zke-based approach for function classes 6 and 7
289
instances with 10 and 20 activities. From the 90 instances with 20 activities, none can be solved to optimality.
+
Table 3.6.3: Performance of Algorithm 3.6.5 for PSml temp, 21 C C czcpkt c$+(~kt
Third, we investigate the performance of the adapted version of Algorithm 3.6.5 for the resource-constrained resource levelling problem PSltemp,;il C c k C r i t , where again quasistable schedules have to be considered. Table 3.6.4 shows the performance criteria p,,, pi,., pnWt,and punk depending on the number of activities n. Recall that pi,, is the percentage of instances for which insolvability is shown, p,,, is the percentage of instances for which a feasible schedule is found whose optimality cannot be shown, and p,k is the percentage of instances for which neither a feasible schedule is found nor insolvability is shown.
Table 3.6.4: Performance of Algorithm 3.6.5 for PSltemp,dl C ck C r i t n=10
Pvt 63.33% 24.44% pi,, p,,, 12.22% punk 0.00%
n=20 6.67% 32.22% 52.22% 8.89%
Due to the resource constraints, a large number of points in time t E Vj* can be ruled out immediately. Thus, from an enumeration point of view, the resource-constrained problem is easier than the corresponding problem with unlimited resource capacities.
3.6.4
Alternative lower bounds
Lower bounds LBO and LBW on the minimum objective function value as defined in Subsection 3.6.2 can be computed efficiently and can thus be used for node fathoming within branch-and-bound procedures with tree-based enumeration scheme. Furthermore, the tightness of both bounds generally increases with the depth of the corresponding node in the enumeration tree. In what follows, we sketch four lower bound techniques from literature which due t o their large running times and their tightness, are appropriate for the performance analysis of heuristics or for lower bound computation a t the root
290
Cb. 3. Minimization of General Objective Ebnctions
node of the enumeration tree (cf. Selle, 2002, Ch. 3). In particular, we consider lower bounds for the resource investment problem and for resource levelling problems with objective functions C ck C ott or C C c:A+rkt +ciA-rkt. The first three lower bounds are based on a binary linear programming formulation of the respective project scheduling problems, where we consider the continuous, surrogate, and Lagrange relaxations of the binary program (cf. Subsection 2.5.8). The fourth lower bound is based on the unavoidable workload to be processed in certain intervals of the planning horizon. (a) Binary linear programs a n d continuous relaxations In Subsection 2.5.8, we have formulated problem PSItemplC,, as a binary linear program with time-indexed binary variables zit, where zit = 1 exactly if activity i is started at time t (compare (2.5.23)). To obtain a corresponding binary formulation of the resource investment problem and the timeconstrained resource levelling problems with objective functions C ck 2 okt or C C c:A+rkt c;A-rkt, we have to modify the objective function, eliminate the resource constraints, and add supplementary constraints depending on the objective function in question. Furthermore, to reduce the number of restrictions, we replace the temporal constraints
+
(cf. (2.5.21)) by the equivalent restrictions
when dealing with the continuous or surrogate relaxations, where t zit is the start time of activity i. For the resource investment problem, we introduce auxiliary variables zk 2 0 (k E R),which represent the maximum requirement for resource k during the planning period [O,q. With conditions
problem PSool temp1 C ck max r k t then reads Minimize subject to
cp(x, z) =
ckzk kGR
>
rik rEV
C
xi,
(k E R,t E A)
TEA;
t-p.+l
E V, t E Ai) (k E
(i
3.6. neebased approach for function clarses 6 and 7
291
For the resource overload problem PScol temp1 C ck C okt, we define auxiliary variables zkt 2 0 ( k E R, t E A) with
which represent the amount by which the requirement for resource k at time t exceeds the prescribed threshold Y k . With variables zkt and xit, we obtain the following mixed-integer programming formulation of problem PSml temp 1
C Ck C Okt Minimize
(o(x, z ) =
C ck tEA C zht
kER
subject to (3.6.6), (3.6.7), and (3.6.9)
(i E V , t E A;) ( k E R,t E A )
{0,1) zkt 2 0 Zit E
I
(3.6.10)
Eventually, we deal with the resource adjustment problem PSwltempl
C C cLA+rht + c;A-rkt. For notational convenience, we assume that c, = 0 ( k E R),which means that we consider objective function C C c:A+rkt. If ( k E R),then
LBk is a lower bound on C,,,,c:A+rkt
+
is a lower bound for PScoltempI C C c:Afrkt c;A-rkt because C A+rkt = C A-rkt (cf. Section 3.1). We introduce auxiliary variables zkt 2 0 ( k E R, t E A) with
which represent the amount by which the requirement for resource k a t time t E A exceeds the requirement a t time t - 1. Problem PSoaltempl C C c:Af rkt can now be written as follows: Minimize
~ ( xz ),=
C c: kE77
z~t tEA
subject t o (3.6.6), (3.6.7), and (3.6.11)
{0,1) 20
zit E Zkt
(i E V, t E Ai) ( k E R, t E A)
I
(3.6.12)
Problems (3.6.8), (3.6.10),and (3.6.12) are linear mixed-integer programs whose number of decision variables is pseudopolynomial in n. Obviously, a lower bound on the minimum objective function value is obtained by solving the continuous relaxation that arises from replacing the constraints
Ch. 3. Minimization of General 0b.jective Functions
292
xit E { 0 , 1 } in these problems by 0 5 x i t 5 1 (i E V , t E A,). Computational results by Selle (2002, Sects. 3.5 and 3.6) for the resource investment and resource overload problems have shown that for projects with up to 200 activities, on the average, the resulting linear program can be solved in less than two minutes on a 1.4 GHz clock pulse P4 personal computer operating under Windows 2000.
(b) Surrogate and Lagrange lower bounds
In what follows, we relax problems (3.6.8),(3.6.10),and (3.6.12)by aggregating the temporal constraints (3.6.6) and the definitorial constraints for the respective auxiliary variables zk and zkt weighted by nonnegative multipliers. The resulting relaxations are called surrogate relaxations and the corresponding lower bounds on the minimum objective function value are termed surrogate lower bounds (cf. Subsection 2.5.8). Let Xij 2 0 with ( i , j ) E E be a multiplier associated with temporal t x j t - CtGA, t x i t 2 Sij and let Pred(j) again be the set of constraint CtGAj immediate predecessors of node j E V in temporal scheduling network N + (cf. Section 1.3). For problems (3.6.8),(3.6.10),and (3.6.12),we replace for each j E V temporal constraints (3.6.6)for all i E P r e d ( j ) by their linear combination
In analogy to Subsection 2.5.8, the multipliers Xij can be chosen to be equal to the shadow prices of temporal constraints (3.6.6). The shadow prices equal the values of the respective variables in an optimal solution to the dual of the continuous relaxation of the problem in question. For the resource overload problem, for each k E R,we additionally aggregate the corresponding constraints (3.6.9) for all t E A. Thus, we obtain aggregated constraints
C X i t ~ k t2 tEA
tEA
A i t ( x fik iEV
xir
- Yk)
(IC E R)
(3.6.14)
T EA, t-pi+l<.r
instead of constraints (3.6.9). Again, as multipliers Xit we use the shadow prices of constraints (3.6.9). Analogously, for the resource adjustment problem, we replace restrictions (3.6.11) by conditions
C X i t ~ l i t> C Xit( C fikxit tEA
tEA
iEV tEA,
-
C
i
t
-
( k E R)
(3.6.15)
iEV t-p,EA;
where multipliers A,, are chosen to be the shadow prices of corresponding constraints (3.6.11). The feasible region of a mixed-integer program is enlarged if we sum up two or more constraints with positive weights. Hence,
3.6. neebased approach for function classes 6 and 7
293
the objective function value of an optimal solution to the surrogate relaxation of problem (3.6.8),(3.6.10),or (3.6.12)represents a lower bound (called surrogate lower bound) on the minimum objective function value of the respective problem. Next, we discuss a Lagrange relaxation of problems (3.6.8), (3.6.10), and (3.6.12). First, we consider the binary linear program (3.6.8) of the resource investment problem, where the temporal constraints are now given by (3.6.5). If we omit the restrictions for the auxiliary variables z k , the coefficient matrix becomes totally unimodular and the corresponding continuous relaxation possesses an integral optimal solution. Analogously to Subsection 2.5.8, the restrictions for variables zk can be taken into account by replacing objective function cp of problem (3.6.8)with the Lagrange function L ( x , r ) :=
x
LER
~ k ( ck
z
Xkt)
tEA
+ i E V r E A i (k€'R Cr i k
r+p;-1
x
(3.6.16)
&)xir
t=r
with multipliers Xtt 2 0 (cf. Drexl and Kimms, 2001, and Selle, 2002, Sect. 2.2). The first term of the Lagrange function solely refers to decision variables r k and the second solely to decision variables x i , . Moreover, the system of restrictions decomposes into a first set which only concerns variables r k and a second set which only concerns variables x i , . Consequently, the Lagrange relaxation of the resource investment problem can be separated into the following two subproblems: Minimize
x
zk(ck-
kER
subject to zk 2 0
C Xkt)
tGA
( k E R)
}
and
z (x x
r+p,-1
Minimize
rik
~ E V T E A ,k € R
t=r
Xkt)xir
I
(3.6.18) subject to (3.6.5) and (3.6.7) zit E { O , l ) (a E V, t E A,) The sum of the minimum objective function values of both subproblems provides the optimum objective function value for our Lagrange relaxation. For 0 5 CtEA Xkt 5 ck, problem (3.6.17) possesses the optimum solution r k = 0 ( k E R ) with an objective function value of zero. For cr, < Xkt, the objective function of problem (3.6.17) is not bounded from below. Problem (3.6.18)is the analogue to the Lagrange relaxation (2.5.24)for the binary lint + ~ ; - 1Xk ear formulation of problem PSJtemplC,,, where w i t = CkEa ~ i CTZt k T. Hence, it can be transformed into a minimum-cut problem and solved as described in Subsection 2.5.8. For arbitrary multipliers Xkt 0 with 0 5 CtEA Xkt 5 c k , the minimum objective function value of (3.6.18) represents a lower bound on the minimum total procurement cost, called Lagrange
xi,,,
>
294
Ch. 3. Minimization of General Objective Functions
bound. To optimize the Lagrange multipliers, we can apply a subgradient method as mentioned in Subsection 2.5.8 (cf. Selle, 2002, Sect. 2.2). Second, we turn to the resource overload and resource adjustment problems, for which the Lagrange relaxation is quite similar to that for the resource investment problem. For the resource overload problem, (3.6.17) is to be replaced by Minimize subject to
xx
LER tea zkt 2 0
zkt(ck- X k t ) (k E 'R,t E A)
(3.6.19)
where the individual Lagrange multipliers Xtt are now bounded from above by ck for all k E R and all t E A. Considering the resource adjustment problem, the first subproblem coincides with problem (3.6.19) and the second subproblem again corresponds to problem (2.5.24) with wit = CkEa~ i k ( X - ~Xk,t-pi) ~ where Xkt = 0 for t < 0. Computational results of an experimental performance analysis for the resource investment and resource overload problems (see Selle, 2002, Sects. 3.5 and 3.6) indicate that for projects with up to 200 activities, on the average, the resulting surrogate relaxation (linear mixed-integer program) as well as the Lagrange relaxation (linear program) can be solved in less than three minutes on a 1.4 GHz clock pulse P4 personal computer operating under Windows 2000. The surrogate lower bounds can easily be adapted to the corresponding resource-constrained problems by adding resource constraints
to the mixed-integer program. (c)
Interval- based lower b o u n d s
In the following, we describe further lower bounds, which are based on the workload that for any feasible schedule necessarily occurs in some time interval of the planning horizon. A similar workload-based lower bound on the project duration has been treated in Subsection 2.5.3. In contrast to the workload-based lower bound (3.6.3) from Subsection 3.6.2, the workload of certain activities is now assigned to specific time intervals and not to the whole planning period. Let [a, b[ E [0,;1] with a < b and a, b E Z be a half-open interval. Then for any timefeasible schedule S, activity i 6 V is processed in interval [a, b[ during a t least
time units and wt(a, b) :=
C rik~i(atb) iEV
3.6. Dee-based approach for function classes 6 and 7
295
is a lower bound on the workload to be processed on resource k E R ' in time interval [a,b[ for any time-feasible schedule (cf. (2.5.10), (2.5.11), and Fig. 2.5.7). Thus, (3.6.20)
is a lower bound on the minimum objective function value of the resource investment problem. Let t ( a ,b) E ZSobe the number of points in time t E { a , a 1 , . . . , b} at which due to thetemporal constraints no real activity can be in execution. Furthermore, let &(a,b) = 1 if pi(a, b) > 0 and &(a,b) = 0 , otherwise. Then
+
r r n ( a ,b) := max
represents the minimum resource capacity needed in interval [a,b[. The number of intervals [a,b[ to be investigated for computing lower bound (3.6.20) increases quadratically in d. Hence, for efficiency reasons, we follow the approach from Subsection 2.5.3 and determine r p only for intervals [ E S i , Z [ (a E V ) . An interval-based lower bound for the resource investment problem is then given by LBI := C ~ ~ ~ ~ , " ~ " ( E S ~ , Z ) (3.6.21) LER
Next, we consider the resource overload problem. Let
be the minimum overload to be processed on resource k E 72 in time interval [a,b[ for each timefeasible schedule. Then, we obtain the following intervalbased lower bound:
LBI :=
ck kER
[op(a,b)l [ab[EI
where I is any partition of [O,;i[ into disjoint time intervals [a,b[. For the determination of an appropriate partition I, Selle (2002, Subsect. 2.3.2) has proposed to use time intervals [a,b[ of equal length b - a miniE" pi. Eventually, we deal with the resource adjustment problem PScoltempl C C c:A+rkt. For any timefeasible schedule S, activity i E V is processed in interval [a, b[ during at most
<
pi(a, b) := (min(b - a,pi, L S , +pi
-
a , b - ESi))+
time units. Let &(a, b) = 1 if &(a, b) > 0 and &(a, b) = 0, otherwise. Then r y ( a ,b) := max
)
Eb i-~ a" -~t i( (a ~, > b)b ) r i k ]
Ch. 3. Minimization of General Objective Functions
296
represents an upper bound on the minimum requirement for resource k at any point in time t E [a,b[. Consequently, if the resource requirement a t time b equals r , the resource requirement is increased by a t least T - r r ( a ,b) units between the time with minimum resource requirement in interval [a,b[ and time b. With
an interval-based lower bound for problem PSmltempl C C c:Atrkt is given by LBI := ck [ ~ y ( ab, c)] , (3.6.23) k€R
[a,b[,[b,c[€I
where I is again any partition of [O,;i[into disjoint time intervals [a,b[. In an experimental performance analysis for the resource investment and resource overload problems, Selle (2002, Sects. 3.5 and 3.6) has shown that for projects with up to 1000 activities, the interval-based lower bound LBI can generally be computed in less than one second on a 1.4 GHz clock pulse P4 personal computer with Windows 2000 as operating system.
Priority-rule met hods
3.7
In this section, we first present a basic version of a priority-rule method for approximately solving the time-constrained problem PSmltemp,;il f , where objective function f is assumed to be sum- or max-separable if f belongs to one of the classes 1 to 5, or f is assumed to be r-dependent if f belongs to class 6 or class 7. Second, we consider a modified priority-rule method for PScoltemp,dl f with r-dependent functions f of classes 6 and 7. Third, we show how to adapt the modified priority-rule method for PSmltemp,dl f to the resource-constrained problem PSI temp, dl f . Notice that for objective functions f of classes 1 , 2 , 3, and 4 , there are generally efficient exact solution procedures for PScoltemp,;ilf (cf. Sections 1.3 and 3.4). In that case, it is not expedient to use a priority-rule method. For functions f of classes 5, 6 , and 7 , even the determination of a time-optimal schedule for PScmltemp,;ilf is generally NP-hard (cf. Section 3.4). Thus, in the latter case, heuristic procedures are recommended for larger problem instances. Previous versions of priority-rule methods for problems PSmJtemp,dlf and PSltemp,dl f with nonregular objective functions f can be found in Neumann and Z i e r m a n n (1999b, 2000).
3.7.1 (a)
Time-constrained project scheduling
General generation scheme
The priority-rule method for PSml temp, dl f represents a modification of the direct (priority-rule) method with serial generation scheme for PSltemplC,,
3.7. Priority-rule methods
297
discussed in Section 2.6 and is in principle as follows. Let C be again the completed set, that is, the set of all activities which have already been scheduled. At the beginning, we put C := (0)-and So:= 0. In each iteration, we first ~ schedule every critical activity j E C = V \ C (for which ES; = L S holds), that is, we set S, := ES$ and add j to C. Second, we choose a noncritical activity j*E C to be scheduled, compute a corresponding start time S,. , and add j*to C. The procedure terminates when C = V. The noncritical activity j*E to be scheduled is again an activity j with , ties are broken on the basis of increasing activity highest priority ~ ( j )where numbers. That is,
c
where ext E {min, max}. Several different priority rules that have proved to be useful for the objective functions f considered will be listed later on. In Chapter 2, the activity j*to be scheduled next has been chosen from the C} instead from For regular objective eligible set E = {j E C 1 Pred'(j) functions, where activities should be scheduled as early as possible and where there is no prescribed deadline for project termination, I contains those activities j E I? for which fixing the start time of activity j* leads to the smallest decrease in the latest start times of activities in set I?. Since for nonregular objective functions, the activities need not be scheduled as early as possible and, in addition, there is a prescribed maximum project duration, any activity j E may be scheduled next in the course of the priority-rule method, in other words, eligible set E coincides with C. Once activity j*has been scheduled, that is, its start time Si. has been determined, the earliest and latest start times of activities j E C axe updated as follows:
c.
c
Es;
:=
m a x ( ~ S FS,. ,
+
(cf. (2.6.1) and (3.3.6)). To find the start time Sj. of noncritical activity j*selected, we determine the decision set "V;..,which depends on the class v E {I,.. . ,7) objective function f belongs to. Then, we compute the greatest minimizer S$ of additional-cost function fa(SC,j*, .) on decision set "D$and set S,. := S:. The basic version of the priority-rule method is then as follows.
(3.7.1)Algorithm: Priority- rule m e t h o d for PSooltemp,
f
For all i, j E V compute longest path lengths d, in project network N If dii + dji > 0 for some i, j E V t h e n terminate (*there is no feasible schedule *) For all j E V d o ES, := hi, LSj := -diO
298
Ch. 3. Minimization of General Objective Functions
so:= 0, c := (0) While C # V d o Forallj€V\Cdo If ESj = LSj t h e n Sj := ES,, C := C U{j} End (*for *) For all j E V \ C compute a ( j ) j* := min{j E V \ C I a ( j ) = exthEy\ca ( h ) ) Determine decision set 9;. For all t E compute f"(Sc, j*,t) Choose greatest minimizer S; of f"(Sc, j*, .) on "2,;. s,. : = S j i , C : = C u { j * > For all j E V \ C d o ESj := max(ESj, ST + dTj) LSj := min(LSi, ST - djT) E n d (*for *) E n d (* while *) Return S
"q.
In contrast to the direct method discussed in Section 2.6, Algorithm 3.7.1 only observes temporal constraints. Thus, no unscheduling step is necessary. Moreover, all critical activities are scheduled immediately. Recall that the computation of all longest path lengths c&j ( 2 , j E V) and . the current earliest can be done in 6(IVI3) time. The decision set 9; and latest start times can be computed in U(IV1) time. For sum- or maxseparable objective functions f of classes 1 to 5, we have for the additionalcost function f"(Sc, j,t) = fj(t) or f"(Sc,j, t) = [fj(t) - f (SC)]+, respectively, which can be computed in U(1) time for the sum- and max-separable objective functions C,,, L,,, C wFF,,C w T Z , Cw?Ei, C WEE^ wTT,, CviS,, and - C cfpC; introduced in Section 3.1. Note that, in general, non-integral values of objective function - C cF/3Ci cannot be calculated accurately due to truncation errors. For the r-dependent objective functions f of classes 6 and 7, we have f"(Sc, j, t ) = F(R(SCUfij))- F(R(S C)).Thus, the resource utilization matrix R(S C ) (or the corresponding resource profiles, respectively) must be updated after the scheduling of each activity. As has been shown in Section 2.6, this update can be done in U(IRIICI) time. Again, let q(JR1,IVJ)be a bivariate polynomial describing the time complexity of computing priority ~ ( jfor) some activity j e C. Then the time complexity of Algorithm 3.7.1 is 6(1nax[lV1~,IVIZq(lRI,IVI)]) for objective functions of classes 1 to 5 and U(max[lVJ3,1R11V12,IV12q(lRI,IVl)]) for objective functions of classes 6 and 7 because in each iteration of the algorithm, a t least one activity is scheduled.
+
3.7. Priority-mle methods
299
Next, we list some priority rules which in addition to the LST, MST, MWL, WSD, and GRD rules from Sections 2.6 and 2.10 with E = provide "good" schedules for objective functions of classes 1,. . . ,7.
c,
GRR rule ("greatest resource requirements" first): ext a(h) = max C rhk he? h . 3 kER
.-
GDCF rule f "meatest discounted cash flow" first): ex! a(h) = max IcfI PESh+ph ~ E C
~ E F
G W rule ("greatest weight" first): ext a(h) = m g lwhl he? IEC
LUTP rule ("least unscheduled total predecessors" first): ex!x(h) = min nReach'(h)l, hEC hi=? -where Reach'(h) is the set of nodes i for which there is a path from i to h in precedence graph G<, i.e. the set of nodes i from which node h is reachable in G'.
Ic
~
L UTS rule ("least unscheduled total successors" first): ext ~ ( h=) min IC n Reach+(h)1, ~ E F
~ F T
where ~ e a c h < ( his ) the set of nodes i for which there is a path from h to i in precedence graph G<, i.e. the set of nodes i reachable from node h in G<.
MPA rule ("minimum parallelism" first): ext?r(h) = minI{j E C I [ESj,LSj + p j [ n [ESh,LSh+ph[# @)I, he? ~EF which says that an activity h is scheduled next to which the smallest number of activities j E C can be carried out in parallel. M W E rvle ("maximum weighted earliness" first): ext n(h) = m g wf(dh - LSh - ph)+ h€? hEC M W T rule ("maximum weighted tardiness" first): ex! x(h) = max w;f(ESh ph - dh)+ ~ E C
LEF
+
MWET rule ("maximum weighted earliness-tardiness" first): ext T(h) = ma~[wf(dh- LSh - ph)+, w:(ESh Ph - dh)+] ~ E T
h ~ l
+
The GRR and GW rules are static, the LUTP, LUTS, and MPA rules are dynamic, and the remaining rules may be static or dynamic. Recall that a static or dynamic rule means that a ( j ) is independent of partial schedule SC or depends on SC, respectively. For example, for the static MWET rule it holds that ES, = doi and LSi = -d,o, whereas for the dynamic MWET rule
Ch. 3. Minimization of General Objective finctions
300
we have ES, = ES: and LS, = LSf. Computational experience shows that it is generally expedient to use priority-rule combinations. For example, combined priority rule GW-MST means that the activity to be scheduled is the activity with greatest weight, where ties are broken on the basis of nondecreasing total floats. If two or more activities i have the same greatest weight and the same minimum total float, we select that one with smallest activity number a. Table 3.7.1 shows the combined priority rules which have turned out t o be expedient t o the different objective functions introduced in Section 3.1.
Table 3.7.1: Combined priority rules for different objective functions Objective function
C visi - C $PC; C w f E i + wTTi C ~k max r k t C Ck C C Ch C Okt CC c t A + r b t + c:A-rkt C C ~ i ( ~+k ct L A + p h t
Case of r-dependent objective functions
(b)
As already mentioned in Subsection 3.3.1, for r-dependent objective functions of classes 6 and 7, the resource utilization matrix R(S') is needed when computing values of additional-cost function fo(Sc, j * ,.) in the course of Algorithm 3.7.1. Now we show how the resource requirements of activities j E \ { j * } can be taken into account when computing the start time Sj. of activity j* E t o be scheduled next. This leads t o a modified resource utilization matrix, which results in an improvement of Algorithm 3.7.1 for r-dependent objective functions. Recall the concepts of the base time interval [LS,,EC6[for activity i E V and of critical and near-critical activities i E V defined by TFi = 0 and 0 < T F j < pi, respectively, where TFi = LSi - ESi is the total float of activity i (cf. Section 1.3). Now we introduce the so-called base active set A B (t),that is, the set of those activities which have to be in progress a t time t independently of schedule S E ST:
c
c
3.7. Priority-rule methods
d B ( t ) := { i
EV
I LSi 5 t < EC,)
(0 5 t 5 a)
301
(3.7.1)
B
By Proposition 1.3.8, d ( t ) is the set of those critical or near-critical activities whose base time interval contains the point in time t . Moreover, let
be the minimum amount of resource k used at time t independently of schedule S E ST. rj!(.) is termed the base resource profile of resource k . The IRI x lDTBl matrix R~ with elements r f ( t ) (k E 72,t E D T B ) is called the base resource utilization matrix, where DT B is the set of the left and right endpoints LSi and EC,, respectively, of the base time intervals of all critical and near-critical activities i E V. When the activities i E V are scheduled successively, the earliest start times E S f for j E increase and the latest start times LS: and total floats TFf = LScJ - E S f for j E decrease. Moreover, the base time intervals [LS;, E C f [ for activities j E get larger and larger. In analogy to (3.7.1), we introduce the base active set
(3.7.3) d B ( S C ,t ) := { i E V I L S ~ 5 t < E C ~ ) (0 5 t 5 Z) C given partial schedule S , that is, the set of those activities i E V which are in progress a t time t no matter a t which start times the activities j E are scheduled. The corresponding least amount of resource k used a t time t given partial schedule SC is r f ( s C , t ):=
x
rik (k
E R,
05t 54
(3.7.4)
i~dB(Sc,t)
and r f ( S C .), is called the base resource profile of resource k given partial schedule S C . Notice that A B ( t ) and r,8(t) defined by (3.7.1) and (3.7.2), respectively, correspond to A B ( S C , t ) and rF(SC,t),respectively, with C = {O) and So = 0. Let DTBsCbe the set of the left and right endpoints LS; and E C ~ re, spectively, of the base time intervals of all critical and near-critical activities i E V given partial schedule S C . Then the IRI x IDTBgCI matrix with elements r f ( S Ct, ) (k E R, t E DTBrC)is called the base resource utilization matrix given partial schedule S C and is denoted by R ~ ( s ' ) .
(3.7.2) Example. We consider the project with six real activities and a single resource given by the project network N in Fig. 3.7.1. The longest path (0,1,4,7)from node 0 to node 7 in N has length do, = 10. Table 3.7.2 lists the earliest and latest start times ESi and LSi, respectively, and the total floats TF, for activities i = 0,1,.. . ,7 for the two cases ;i= 10 = EST and 2 = 12 > EST. Table 3.7.3
302
Ch. 3. Minimization of General Objective Functions
Figure 3.7.1: Project network N of Example 3.7.2 shows the base time intervals and the critical and near-critical real activities for 2 = 10 and 2= 12. Fig. 3.7.2 illustrates the corresponding base Gantt charts for the critical and near-critical activities, where the length of the block for a near-critical activity equals the length of the corresponding base time interval. Furthermore, critical activities are dark-shaded and nearcritical activities are light-shaded.
Table 3.7.2: Earliest and latest start times and total floats d=lO d=12 i 0 1 2 3 4 5 6 7 i 0 1 2 3 4 5 6 7 E S ; O O 2 0 5 5 3 1 0 ESi 0 0 2 0 5 5 3 1 0 L S i O 0 7 3 5 9 6 1 0 LS, 0 2 9 5 7 1 1 8 1 2 T F i 0 0 5 3 0 4 3 0 T F , O 2 7 5 2 6 5 2 For sets D T B of left and right endpoints of the base time intervals, we obtain D T B = {0,3,5,6,7,10} for = 10 and D T B = {0,2,5,6,7,10} for d = 12. The base resource utilization matrix is RB = (1,2,3,4,2,0) for d = 10 and RB= (0,1,1,0,2,0) for ;i= 12.
Figure 3.7.2: Base Gantt charts for the critical and near-critical activities
3.7. Priority-rule methods
303
Table 3.7.3: Base time intervals of critical and near-critical activities d=lO critical near-critical
a=
12 near-critical
We now assume that activities 0, 1, and 3 have already been scheduled a t times 0, 1, and 4 , respectively, that is, we have the completed set C = {0,1,3) and the corresponding partial schedule SC = (0,1,4), and we consider the case 2 = 12. Table 3.7.4 lists the earliest and latest start times ESf and LS;, respectively, and the total floats T C c := L S ~ ESF given partial schedule S C for i = 0 , 1 , .. . ,7. Table 3.7.5 shows the base time intervals and the critical and near-critical real activities. Fig. 3.7.3 depicts the base Gantt chart for the critical (scheduled) and near-critical activities given partial schedule S C . For set DTBF of left and right endpoints of the base time intervals given partial schedule S C , we obtain DTB,C= {0,1,4,6,7,8,10,11). The corresponding base resource utilization matrix given partial schedule S C is R B ( S C ) = (0,1,2,1,3,5,4,0).
Table 3.7.4: Earliest and latest start times and total floats given S C
LS, 0 1 9 4 7 11 8 12 T E 0 0 3 0 1 2 1 1
--
Table 3.7.5: Base time intervals of critical and near-critical activities critical
near-critical
Fig. 3.7.3 suggests that the resource utilization r k ( S c , t ) is often much , (k E R, smaller than the corresponding base resource utilization r f ( S C t)
304
Ch. 3. Minimization of General Objective Functions
Figure 3.7.3: Base Gantt chart for the critical and near-critical activities given SC
0 5 t 5 3) which, in addition to the activities i E C already scheduled, takes the critical and near-critical activities from ?I into consideration. Thus, instead of additional-cost function fd(Sc, j, .) given by (3.3.5),it is expedient to use the modified function f B ( S C ,j, .) defined as follows:
The modified priority-rule method for PSmltemp,dl f with r-dependent functions f of classes 6 and 7 results from Algorithm 3.7.1 by replacing f"(Sc, j*,.) with f B ( S c ,j*,.) and by adding the call to the following procedure BaseResourceUtilizationMat7-iz(SC), which returns R ~ ( S ' ) in , each iteration of the algorithm before computing additional cost-function
f B ( s C , j *.I., (3.7.3) Algorithm: BaseResouree ~ t i l i z a t i o n ~ a t r i z ( S ~ ) .
DTB := 0 For all i E C d o DT B := DT B U {Si,Si pi} For all j E V \ C with T F j < pj d o DT B := DT B U {LS,, ESj For all t E DT B d o A B ( t ):={i E V I LSi t < ESi+pi} For all k E R d o r f ( t ):= 0 For all i E AB(t)d o r f ( t ):= r f ( t ) rik E n d (*for *) End (*for *) Return R ~ ( s ~ )
+
+ pj)
<
+
Obviously, RB(sC) can be computed in C7(IRllV12)time. Hence, the time complexity for the modified version of Algorithm 3.7.1 for r-dependent (VIZq(lRI, IVI)]). objective functions is C?(ma~[lR(1V1~,
3.7. Priority-rule methods
305
To illustrate the modified version of Algorithm 3.7.1 described, we consider the following example which is borrowed from Zimmermann (2001, Sect. 3.1).
(3.7.4) Example. Again, we deal with the project of Example 3.7.2 shown in Fig. 3.7.1 with a single resource and d = 12. We apply the modified version of Algorithm 3.7.1 with priority-rule combination MST-GRD for (approximately) minimizing objective function C ck C r i t with ck = 1 for k E 72. The longest path lengths dij (i, j E V) in project network N and the base time intervals of the nearcritical activities are given in Tables 3.7.6 and 3.7.3, respectively. Since no activity is critical, we first determine the total float TF, (cf. Table 3.7.2) and the resource demand ripi (cf. Table 3.7.7) for each activity i = 1 , . . . ,7. Table 3.7.6: Longest path lengths 1 i \ j O 0 0 0 1 -2 0 2 -9 -9 5 3 4 -7 -7 5 -11 -11 6 -8 -8 7 -12 -12
At the beginning, we set C := {O), So:= 0, and SC := (0). Activities 1, 4, and 7 are the activities with smallest total float, where activity 4 has a greater resource demand (workload) than activities 1 and 7. Thus, we choose activity 4 as that activity to be scheduled next (iteration 1). We determine decision set 7V$= {5,7), which contains the earliest and the latest start time of activity 4. The additional-cost function value f B(SC,4,t) for t = 5 equals f B (S C ,4,5) = 28-16 = 12andfor t = 7, we have f B (S C ,4,7) = 24-16 = 8. Hence, we obtain S$ = 7, C = {0,4), and SC = (0,7). Since activity 4 is scheduled at its latest start time, the latest start times of the activities not yet scheduled remain unchanged. As node 7 is the only node reachable from node 4 in the project network, only the earliest start time of activity 7 must be updated. We obtain ES7 = S4+ dg7= 7 + 5 = 12. The corresponding base Gantt chart for scheduled activity 4 and near-critical activities 1 and 3
Ch.3. Minimization of General Objective Functions
306
is shown in Fig. 3.7.4a. Again, scheduled and near-critical activities are dark- and light-shaded, respectively. The base resource utilization matrix s ~ (0,1,1,0,2,0) ) with DTB'C= for partial schedule S C is given by R ~ ( = {0,2,5,6,7,12).
2
4
(a) Iteration 1
(b) Iteration 2
(c) Iteration 3
(d) Iteration 4
(e) Iteration 5
(f) Optimal schedule
6
8
10
12
14
2
4
6
8
10
12
14
Figure 3.7.4: Base Gantt charts for critical and near-critical activities In the second iteration, we first schedule critical activity 7 a t time S7 = 12. Then, we select j* = 1 and obtain S f = 0 as minimizer of f B ( S C ,1, .) on 2' 3:. In four additional iterations, schedule S = (0,0,8,0,7,11,3,12) with objective function value of 113 is constructed. Table 3.7.8 shows the results of the individual iterations of the algorithm. The first column contains the critical activities, activity j* selected with corresponding start time S;, and completed set C after scheduling activity j*. In the second column, the decision set 2'3'.; and the corresponding values of additional-cost function B C f ( S ,j * , .) are listed. Moreover, the updated earliest and latest start times of activities j E C, the resulting partial schedule S C , set DTBF, and the corresponding base resource utilization matrix R ' ( S ~ )are shown. Fig. 3.7.4 depicts the base Gantt charts for critical and near-critical activities after iterations 1 t o 5 as well as the Gantt chart of an optimal schedule with objective function value of 109.
:= { 5 , 7 ) f B ( s C , 4 , 5 ):= 12, f B ( s C , 47, ) := 8 Update: ES7 := 12 := LS7 Sc := (0,7) DTB*' := {0,2,5,6,7,12),R B ( S C ):= (0,1, 1,0,2,0)
Activity 7 is critical ..- {0,21 fB(SC,l,O):= 2, f E ( S C , l , 2 ) := 4 Update: S C ..- (0,0,7,12) D T ~ F := {0,5,6,7,12),RE(sC) := (1,1,0,2,0) 7vC 1
7 6~ .-c 13, 5, 8, f B (S C ,6,3) := 28, f B (S C ,6,5) := 36, f B ( s C , 6 , 8 ):= 48 Update: LS3 := 0 := ES3 S C: = ( 0 , 0 , 7 , 3 , 1 2 ) DT~,' := {0,3,5,6,7,12), ~ ~ := ( (2,4,3,2,2,0) 9 )
Activity 3 is critical 7g:= {5,6,7,11} f B ( S C , 5,5) := 25, f B ( S C , 5,6) := 21 f B ( S C , 5,7) := 21, f B ( S C ,5,11) := 21 Update: E S 2 := 8, LS2 := 9,TF2 := 1 < p, := 3 C:={O,1,3,..., 7 ) S c :=(0,0,0,7,11,3,12) DTB,' := {0,3,5,6,7,9,11,12), R B ( S C ) :=-(2,4,3,2,2,3,5,0) Iteration 5
308
3.7.2
Ch. 3. Minimization o f General Objective Functions
Resource-constrained project scheduling
In this section, we discuss two procedures for PSltemp,;il f which can be viewed as ''repair algorithms" because they strive t o transform a timefeasible (partial) schedule which is not resourcefeasible into a feasible one. Repair method 1 attempts to repair t i m e but not resourcefeasible partial schedules in the course of the priority-rule method for PSmltemp,alf from Subsection 3.7.1 (or its modification). Repair method 2 tries to repair a time- but not resource-feasible schedule which has been constructed by the priority-rule method for PSooltemp,;il f (or its modification). Former versions of repair methods 1 and 2 have been discussed by Neumann and Zimmermann (1999b, 2000) and Zimmermann (2001, Sect. 3.2). Based on the direct method from Subsection 2.6.1, priority-rule methods for the resourceconstrained net present value and changeover time problems have been developed by Selle and Zimmermann (2003) and Hartung (2002, Sect. 3.2), respectively. As for problem PSltemplC,,,,, it is recommended t o perform a preprocessing phase a t the beginning of each method for (approximately) solving PSltemp,dl f . As we have seen in Subsection 2.5.2, preprocessing consists of introducing additional temporal constraints of type Sl 2 Sh dh (i.e. constructing "modified networks"), which must be met by each feasible schedule S with Sn+l5 UB. Upper bound UB on the shortest project duration used in Subsection 2.5.2 is now replaced by the prescribed maximum project duration a . Recall that if in the project network a cycle of positive length is detected in the preprocessing phase and thus S = 0, we say that preprocessing rejects a .
+
Repair method 1 differs from Algorithm 3.7.1 in that decision set "D;. instead of "'D,C. is used. If "B: = 0, that is, activity j* E cannot be scheduled without violating the resource constraints, we unschedule some activities i E C already scheduled. After this unscheduling step, either "ID:. # 0, i.e., activity j* can be scheduled observing the resource capacities, or we still have "D; = 0, and the algorithm terminates without finding a feasible solution. Due to the limited resource availabilities, it is expedient to take into account the resource requirements of the activities within the scheduling process. Hence, we use the modified method from Subsection 3.7.lb for all seven classes of objective functions. In the modified method, resource infeasibility can generally be detected earlier. If the resource requirements given by a base resource profile rf'(Sc,t), k E 72,do not exceed the resource capacity Rkat any point in time t E [O,q, activity j' to be scheduled next is chosen according t o some priority rule. Otherwise, activity j*is chosen t o be a critical or near-critical activity which belongs to a corresponding forbidden set A B (S C , t ) . Thus, the activities which will be unscheduled reduce the resource utilization at time t.
3.7. Priority-rule methods
309
In Subsection 2.6.4, where the activities are scheduled as early as possible according t o distance order + (i.e., no activity can be left-shifted observing the underlying temporal and resource constraints), set U of activities t o be unscheduled contains all activities i with LS,. = S j - dyi. If we deal with nonregular objective functions, activities are generally not scheduled as early as possible. Moreover, due t o the prescribed maximum project duration a, the latest start times are in general smaller than for regular objective functions, where the latest start times are computed with respect t o an upper bound on the minimum project duration. Consequently, in general the time interval [ES:, LS:.] for activity j* cannot sufficiently be enlarged by right-shifting activities already scheduled. Therefore, if "D;. = 0, we proceed as follows (cf. Neumann and Zimmermann, 199913): We unschedule all activities i E C which are executed during the time interval [ES;, LC$[ but which do not necessarily have to be performed within this interval (i.e., ( [Si,Ci[\ [ - d i ~ , + p i [ )n [ES:., LC$[# 0). Again, we recommend to limit the maximum number n of unscheduling steps, e.g., 5 IVJ. Let for problem PSI temp, 21 f , SC be the partial schedule in question, j' be the activity to be scheduled next, C' := C U { j * } ,and "D:. be the decision set of activity j*. By
we denote the set of all scheduled activities i which compete with j* for some resource k E R and thus are to be unscheduled if "5:.= 0. Moreover, let d
[r:(sC',r ) - R # d r
o ( 9 ,j * , t ) := bER O
be the total overload of resources k E R incurred by scheduling activity j* at time t given partial schedule S C . For scheduling activity j*, we distinguish between the following three cases, where IVCC denotes the set of all critical and near-critical activities j E given partial schedule SC. Activity j' is scheduled if and only if "D:. # 0, which may require the unscheduling of some activities. Hence, iVCC= 0 implies r f ( S C t) , 5 Rk for all k E R and
t
E
ST C .
VT.:
''5;.# 0 and o(SC,j*, t ) = 0 for some t E Activity j* can be scheduled such that for the resulting base resource profiles, the inequalities r f ( s C 't,) 5 Rk are satisfied for all k E 72 and Thus, activity j' is scheduled a t the latest point in time t all t 6 at which the additional-cost function f B ( S C ,j', .) attains its minimum on set {T E "?$ I o(SC,j t , r ) = 0). (ii) YD$# 0 and o ( 9 ,j * , t ) > 0 for all t E "D$: If we schedule activity j* at some point in time t E "D., then some activities j E N C ~ not ' yet scheduled cannot be scheduled observing the given resource constraints. In this case, we schedule activity j* (i)
[O,q.
310
Ch. 3. Minimization of General Objective finctions
at a point in time t E "B?.with minimum o(S C, j*,t ) , where ties are broken first according to nondecreasing additional-cost function values f R (S c , j',t) and second according to decreasing values of t . F'urthermore, in order to "repair" partial schedule Scl,we choose the activity j+ to be scheduled in the next iteration from the set N C ~such ' that j+belongs to that forbidden set AB(sC',T) with smallest T E ST^,^'. ST',^' denotes the set of the left endpoints L S ~ 'of the base time intervals of all critical and near-critical activities a E V given Sc'. Since j+ cannot be scheduled without violating the resource capacities, we have to unschedule some activities competing with activity j+ a t point in time T for some resources k E 'R in order to reduce the resource utilization a t time T. (iii) "5;.= 0: There is no start time for activity j* for which partial schedule sC' is resource-feasible. We unschedule all activities a E U and recompute "D$.If again "D$ = 0, we terminate the algorithm without finding a feasible solution. Otherwise, we determine o(S C ,j*, t ) for all t E "D:. and schedule activity j*at a point in time t E "D?. with minimum o(S C ,j*,t), where ties are broken first according to nondecreasing additional-cost function values f B(SC,j*, t) and second xcording to decreasing values of t . Again, activity j+ to be scheduled in the next iteration is chosen from set NCC' such that j+ belongs to that forbidden set AB(SC', t) with smallest t E ST^^^'. Recall that if we unschedule some activities, the earliest and latest start t i e s of all activities j E must be computed again. In summary, repair method 1 (which is based on the modified priority-rule method from Subsection 3.7.lb) is as follows, where n denotes the maximum number of unscheduling steps. (3.7.5) Algorithm: R e p a i r m e t h o d 1 for
tern^, a(f .
z,
Perform preprocessing. If preprocessing rejects then terminate (*there is no feasible schedule S with 5 a*). For all j E V d o ESj := h j , LSj := -djo so:= 0, C := {O), u := 0 While C # V d o If T ~ ( St )~>, Rkfor some t E STRsCand some k E 'R t h e n choose j* E NCC such that j* belongs to that forbidden set A B (S C ,t) with smallest t E STBvC Else ForalljE V \ C do If ESj = LSi t h e n S, := ES,, C := C U{j) Else compute a ( j )
3.7.Priority-rule methods
311
E n d (*for *) j*:= min{j E V \ C ( a ( j )= exthcv\c x(h)) E n d (* if *) Determine decision set If = 0 t h e n UnscheduIe(j') and recompute If = 0 t h e n terminate (tno feasible schedule is found *) For all t E vB:. d o compute o(S C, j*,t ) Determine 2) :={t E 1 o(SC,j*, t ) = min,,,;ti~, o(sC,j*,T ) ]
"v:=
"q.
"q, "q.
"q.
For all t E 2)d o compute fB(SC,j*, t ) S$ :=max{t E D )f B (S C ,j*,t) = m i n , , ~ fB(SC,j*,7)) S3' := S$, C := C U {j*) Forall j ~ V \ C d o ESj := max(ESj, Sj. dpj) LSj := min(LSj, SF - dij*) E n d (*for *) E n d (* while *) Return S
+
(3.7.6) Algorithm: Unschedule(j*).
u:=u+l If u > n t h e n terminate (+no feasible schedule is found *) Determine U := {i E C 1 ([S,, Ci[\ [-dio, &, pi[) n [ESy, LCj*[ # 0) C:=C\ZA For a l l j E V \ C d o ESj := dw LSj := -djO For all i E C d o ESj := max(ESj, Si 4,) and LSj := rnin(LSj, Si - dji) E n d (*for *) E n d (*for *)
+
+
The time complexity of the preprocessing phase as described in Subsection 2.5.2 equals O(max[17ZllVIZ,IVI6]). AS has been shown in Section 2.6, the update of the resource profiles after scheduling a single activity can be done in O(IR11V1) time. Consequently, the update of the base resource profiles can be done in O(IRllV12) time when scheduling or unscheduling one activity. The time complexity of one iteration of the While loop of Algorithm 3.7.5 if procedure Unschedule is not called is O(rna~[lR11V1~, IV1q(lRIIIVI)]), where q((RI,IVl) again denotes a bivariate polynomial describing the time
Ch. 3. Minimization of General Objective Functions
312
c.
complexity of computing the priority a ( j ) for one activity j E Moreover, between two unscheduling steps at most n iterations of the While loop are performed, and the execution of procedure Unschedule requires O(I'RllV12) time. Thus, the time complexity of Algorithm 3.7.5 is C?(max[lV16,%lRIIVI3, ~lv12q(lRll Ivol). In repair method 2, after the initial preprocessing step, a timefeasible schedule S is determined by Algorithm 3.7.1 or its modified version from Subsection 3.7.lb. After that, resource conflicts are resolved successively by shifting activities. Let E be the earliest point in time t a t which rk(S,t) > RL for some k E 'R. To resolve the resource conflict a t point in time f, we have to prevent the execution of a t least one activity i 6 A(S,f) at time f. To do so, activity i can be left-shifted, i.e. started a t a point in time ti # Si with ti E [ESi,f- pi] such that an activity h # i is begun at the completion time ti +pi of i (case 1 in Fig. 3.7.5). Alternatively, activity i can be rightshifted, i.e. started at a point in time ti E ]& LSi] a t which an activity h # i is completed (case 2 in Fig. 3.7.5). Hence, we consider in turn all activities i E A(S, and their possible start times
I r+pi
ti E { r E [ES,, t-pi]
E ST(S)} u (]f,LSi] n C ~ ( s ) )
where ST(S) and CT(S) are the sets of all start times and completion times, respectively, of activities given schedule S . We then examine whether or not one of the following conditions (i), (ii), or (iii) is satisfied if activity i is started at time ti instead of time Si.
Case 1
i
h
J
h
I
i
-
* t
I
0
I
Case 2
ES,
ti f-pi t i + p i S i = f
Si = f ti
LSi
t
Figure 3.7.5: Possible start times ti of activity i
(i) Schedule St := (0, S1,.. . ti, .. satisfies all temporal constraints and rk(St,T ) 5 Rk for all r E [ti,ti pi[ n ST(S1) and all k E R . This means that activity i does no longer belong to any forbidden active set. (ii) Activity i and all activities j E V with S, > ti - dji or Sj < ti d,, i.e. all activities which must be shifted when activity i is shifted to time ti, can be left- or right-shifted such that the temporal constraints are met and the resource constraints are satisfied at all points in time a t which the shifted activities are in progress. Let V1 be the set of activities which must be shifted when activity i starts at time ti. Then schedule S' has to satisfy rk(Sr,t) 5 Rk for all t E Uievt([S:, Sj +pi[ n ST(S1)).
+
+
3.7. Priority-rule methods
313
+
(iii) Activity i and all activities j E V with LSj > ti - dji or ESj < ti &,, i.e. all activities which must be shifted when activity i is shifted from Si to ti observing the original temporal constraints, can be left- or right-shifted such that the temporal constraints are met and for the resulting schedule S', rk(S1,t) 5 Rk holds for all t E UiGv([S:, S: +pi[ \ [Si, Si +p i [) n ST(Sf) and k E R. This means that the resource constraints are met at all points in time where the shifted activities are in progress with respect to schedule S' but not with respect to schedule S. Note that condition (i) implies condition (ii), and condition (ii) implies condition (iii). If for an activity i E A(S,t), condition (i) is not fulfilled for any possible start time ti, we proceed to another activity from A(S, t). When condition (i) is not satisfied for any i E A(S, t) and all corresponding possible start times ti, we go on with condition (ii), etc. If a t least condition (iii) is satisfied for some activity i E A(S, t ) and a corresponding start time t,, we start activity i a t time ti and again determine the smallest point in time at which at least one resource capacity is exceeded. If none of the three conditions is satisfied for some activity i E A(S,t), repair method 2 terminates without finding a feasible solution. If H denotes a limit on the maximum number of repair steps, repair method 2 is as follows. (3.7.7) Algorithm: Repair m e t h o d 2 for PSltemp,al f .
Step 1 Perform preprocessing. If preprocessing rejects 2,then terminate (*there is no feasible schedule S with 5 d*). Find time-feasible schedule S by Algorithm 3.7.1 or its modified version. u := 0 Step 2 If rk(S, t) 5 Rh for all t E ST(S) and all k E R t h e n r e t u r n S u:=u+l If u > ;iit h e n terminate (4no feasible schedule found *) Determine t := min{r E ST(S) I rk(S, r ) > Rk for some k E R) and A(S,t ) Step '3 For all i E A(S, t) d o For all ti E {r E [doi,t -pi] I r +pi E ST(S)) U { T €It, -aio] 1 T E CT(S)) do S' := (0, Sl, . . . , si-1,ti, Si+l,.. . ,&+I) If S' time-feasible and rk(S1,7) 5 Rk for all r E [ti, ti + pi[ n ST(S1) and k E R t h e n S := S' and goto Step 2 E n d (* for *) E n d (*for *)
314
Ch.3. Minimization of General 0b.iective finctjons
step 4 For all i E A ( S ,t ) do S' := s If {T E It, -die] 1 T E C T ( S ) )# 0 then t' := m i n { ~E It, -die] 1 T E C T ( S ) ) If RecursivefomaPul(i,t') then S := S' and goto Step 2 End (* if *) If { T E [ & i , t [ l ~ + pEi S T ( S ) )# 0 then t" := m a x { ~E [doi,t [1 T +pi E S T ( S ) ) If Recursivebackward(i,t") then S := S' and goto Step 2 End (*if*) End (*for*) Step 5 Execute Step 4, where in procedures Recursivefomanl and Recursivebackward T € [ti,ti + p i [ nST(S1)is replaced by r € [max(t,,S,+pi), ti + pi[nST(S1)and T E [ti,min(ti + pi, Si)[r l S T ( S 1 )respectively. , Step 6 Terminate (*no feasible schedule found *) (3.7.8) Algorithm: Recursiveforward(i,t').
For all ti E {t') U {T €It1,-die] I r E G T ( S r ) do ) s; :=ti If T ~ ( ST' ), 5 Rk for a11 T E [ti,ti +pi[ n S T ( S 1 )and k E 72 then rep := true > S;I do For all h E Succ(i) with Si If Recursiveforward(h, S: + dih) = false then rep :=false End (* for *) If rep = true then return true End (c if *) End (*for*) Return false
+
(3.7.9) Algorithm: Recursivebackward(i,t").
For all ti E {t") U {T E [doi,t"[1T +pi E S T ( S f ) )do s; :=ti If r r : ( S 1 ,5~ Rk ) for all T E [ti,ti + p i [ nST(S1)and all k E R then
3.7. Priority-rule methods
315
rep := true For all h E Pred(i) with Si - dhi < S A do If Recursivebackward(h, 3:- dhi) =false t h e n rep :=false E n d (*for *) If rep = true then r e t u r n true E n d (*if *) E n d (*for *) R e t u r n false Steps 3 , 4 , and 5 of Algorithm 3.7.7 correspond to conditions (i), (ii), and (iii), respectively. In procedure Recursivefornard, we have rep = false if for some activity h E Succ(i) no resourcefeasible start time has been found. Analogously, in procedure Recursivebackward, we have rep = false if for some activity h E Pred(i) no resourcefeasible start time has been found. Recall that in Step 5, the resource constraints are only examined at points in time where activities shifted are in execution with respect to schedule S' but not with respect to schedule S. The time complexity of the preprocessing phase is U(max[lV16,IR11V12]), and the time complexity of modified Algorithm 3.7.1 is U ( m a ~ [ ( V 1(R(IVI3, ~, 1V12q(lRI,IVI)]) because the update of the base resource utilization matrix can be done in U(IRllV12) time after shifting or scheduling an activity. Steps 3, 4, and 5 of Algorithm 3.7.7 require U(IRllV13), U(IRllV(4), and 8(IRllV14) time, respectively. Thus, the time complexity of Algorithm 3.7.7 is U(max[l VI6, 1V12q(lRI,IVl), nlRI IVI4]). However, an experimental performance analysis has shown that even problem instances with 500 real activities can be handled within reasonable computation time using an appropriate modification of our preprocessing procedure (d.Subsection 3.7.3). To illustrate Algorithms 3.7.5 and 3.7.7, we consider the following example. (3.7.10) Example. We return to the project of Example 3.7.2 shown in Fig. 3.7.1, where we assume that four units of the single resource are available (R = 4). Moreover, we consider a prescribed maximum project duration of a = 12 and objective function C ck C rit with ck = 1 for k E R , which belongs to class 7. In both Algorithms 3.7.5 and 3.7.7, we use the modified version of Algorithm 3.7.1 with priority-rule combination MST-GRD. For simplicity, we omit the preprocessing phase.
Algorithm 3.7.5 In iterations 1, 2, and 3 of the While loop, coincides with 7V$.and C . Hence, after the third iteration, we obtain o(S , j * ,t ) = 0 for all t E 7D$. partial schedule SC = (0,0,7,3,12) with C = {0,1,4,6,7) (see Table 3.7.8). For the set of critical and near-critical activities j E if, we have iVCC = (3).
7-q.
316
Ch. 3. Minimization of General Objective Functions
Since activity 3 is critical, it is scheduled at time S3 := ES: := 0, and we determine 4 2 ) = 7 and 4 5 ) = 6. The activity to be scheduled next is j* = 5. Since = 0, we unschedule activities 4 and 6, which are in execution in time interval [5,12[given partial schedule S C . Notice that activity 3, which is carried out in time interval [5,6[,is not unscheduled because it must be in progress during the latter interval due to the given time constraints (cf. Table 3.7.3). After the unscheduling of activities 4 and 6 , we obtain C = {0,1,3,7) and S C = (0,0,0,12). The corresponding base Gantt chart for scheduled activities 1 and 3 and near-critical activity 4 is shown in Fig. 3.7.6a, where critical and near-critical activities are dark- and light-shaded, respectively. Next, we determine decision set ?i7g again and obtain 7Dg = (5,6,11}. The overload o(S C ,5,t) equals zero for all t E 'D:. Furthermore, for the additional-cost function, we obtain f B ( S C ,5,5) = 15, f B ( S C , 5,6) = 9, and f B (S C ,5, 11) = 9. Therefore, we schedule activity 5 a t time 11, which is the greatest minimizer of f B ( S C , 5, .) on set 'Dg. Moreover, we have to update the earliest start time of activity 2, which gives E S z = 8. Activity 2 becomes near-critical with base time interval [LS;,ECi[= [9,11[. The corresponding base Gantt chart for scheduled activities 1, 3, and 5 and nearcritical activities 2 and 4 is shown in Fig. 3.7.6b. In the next iteration, we compute n(2) = 1, 4 4 ) = 2, and x(6) = 5. Hence, we have j* = 2 with 'i7g = {8,9}, and the overload o(S C ,2, t ) equals zero for t = 8 and t = 9. The corresponding additional-cost function values , = 5 and f B ( S C2,9) , = 7. Consequently, we schedule activity are f B ( S C2,s) 2 a t time 8 and obtain C = {0,1,2,3,5,7} and SC = (0,0,8,0,11,12). The corresponding base Gantt chart is depicted in Fig. 3.7.6~. In the following two iterations, we schedule activities 4 and 6 at times 6 and 4, respectively. We obtain the feasible schedule S = (0,0,8,0,6,11,4,12) with f ( S )= 109, which represents an optimal schedule (6.Fig. 3.7.6d).
Algorithm 3.7.7 In the first step of Algorithm 3.7.7, we apply the modified version of Algorithm 3.7.1 with priority-rule combination MST-GRD, which provides schedule S = (0,0,8,0,7,11,3,12), cf. Figure 3.7.4e. In Step 2, we check whether schedule S is resource-feasible. Since S $ SR,we determine the first point in time t for which A ( S ,t ) is forbidden. We obtain t = 11 with r ( S ,t ) = 5 > R = 4, and A ( S ,11) = {4,5). In Step 3, for activity 4 we compute the set { r €]11,7]1 T E C T ( S ) }= 0 of points in time T > t where at least one activity is completed and the set { r E [5,6] 1 r p4 E S T ( S ) } = ( 6 ) of points in time r 5 t - p4 where at the completion time of activity 4 at least one activity is started. For t q = 6 , schedule S f = (So,S l , S2,S3,t 4 ,S5,S6,S7) meets all given temporal constraints, and r ( S 1 r, ) 5 R holds true for all T E [t4,t4 p4[, i.e., St is feasible. Thus, we left-shift activity 4 by one time unit, i.e., we set S := S' and return to Step 2. Since the current schedule S = (0,0,8,0,6,11,3,12) is feasible, the algorithm returns schedule S with objective function value
+
+
3.7. Priority-rule methods
317
Figure 3.7.6: Base Gantt charts for critical and near-critical activities
of 109 and terminates. The Gantt chart of schedule S , which represents an optimal schedule, is shown in Fig. 3.7.4f.
3.7.3
Experimental performance analysis
Neumann and Zimmermann (1999a, 2000) have reported on a performance analysis of Algorithms 3.7.1, 3.7.5, and 3.7.7 for the time- and resourceconstrained resource levelling problem with objective function C ck C r:, The performance analysis is based on a test set Z, which consists of 810 projects with 100, 200, and 500 activities and 1, 3, and 5 resources. Cost ck is randomly chosen from set {0,1,.. . ,lo). The algorithms have been coded in ANSI-C and tested on a 333 MHz clock pulse PI1 personal computer operating under Windows NT 4.0. First, we deal with Algorithm 3.7.1 for problem ~ ~ r n l t e r n ~C, ck a lC rit, where we consider the priority-rule combinations MST-GRD, GRD-MST, and MST-MPA (cf. Subsection 3.7.1). Recall that combined rule A-B means that an activity is selected for scheduling according to rule A, where ties are broken on the basis of rule B. The minimum objective function values for test set Z are unknown and good lower bounds for objective function CckCri, are hard to find. In general, lower bounds LBO(SC) and LBW(S C)(cf. Subsection 3.6.213) are only tight if a large number of activities have already been scheduled. Hence, we compare different priority-rule combinations among each other. TO do so, we measure the accuracy of a feasible schedule for instance I E Z found by applying heuristic H by the relative deviation
318
Ch. 3. Minimization of General Objective Functions
~ H ( is I )the objective function value of the schedule constructed by heuristic H for problem instance I, X is the set of heuristics under consideration, and f A ( I ) is the smallest objective function value found by any heuristic H E X. Let ZH be again the set of instances I E Z for which heuristic H has found a feasible schedule. Then
is called the quality of heuristic H (cf. Brinkmann and Neumann, 1996) for test set ZH. Since we consider Algorithm 3.7.1 with priority-rule combinations MSTGRD, MST-MPA, and GRD-MST, we have 31 = {MST-GRD, MST-MPA, GRD-MST). For a = r1.5 ES,+ll, Table 3.7.9 shows the performance criteria Ah and t,, (the mean running time in seconds) for Algorithm 3.7.1 depending on the priority-rule combination chosen. We see that priority-rule combination MST-GRD clearly outperforms the other two combinations. Table 3.7.9: Performance of Algorithm 3.7.1 for PSmltemp, 21
Second, we consider Algorithms 3.7.5 and 3.7.7 for resource-constrained problem PSltemp, C ck C r;, with priority-rule combination MST-GRD, i.e., X = {Algorithm 3.7.5,Algorithm 3.7.7). As for the tests from Subsection 2.8.2, preprocessing is restricted to pairs (h, 1) with h = a, 1 = j or h = j , I = i breaking up forbidden sets {a, j}. For 2 = 11.5 ES,+ll, Table 3.7.10 shows the performance criteria pf,,,, Ah, and tv, where pf,, is again the percentage of instances for which either a feasible schedule is found or which are shown to be insolvable by preprocessing. Since both Algorithms 3.7.5 and 3.7.7 perform well for most problem instances, it is recommended to carry out both algorithms and to choose the better of the two schedules found. Table 3.7.10:Performance of Algorithms 3.7.5 and 3.7.7 for PSI temp, dl Cck CrZt Pfem
The priority-rule methods proposed in Section 3.7 determine a t most one feasible schedule S. If the deviation of the corresponding objective function value f (S) from a lower bound on the minimum objective function value is too large, scheduleimprovement procedures can be used to find "better" feasible schedules. Scheduleimprovement procedures start with one or several initial (feasible or infeasible) schedules and generate and evaluate neighboring schedules until some stop criterion is met (cf. Section 2.7). Hence, neighborhoods of schedules represent an essential building block of scheduleimprovement procedures. In Subsection 3.8.1, we study neighborhoods which allow schedule-improvement procedures to reach optimal solutions independently of the initial schedule chosen, where we follow Neumann et al. (2003) in parts. The f i s t neighborhood is dedicated to objective functions of classes 1 to 5. The second and third neighborhood cope with objective functions of classes 6 and 7, respectively. In Subsection 3.8.2, we briefly sketch how the proposed neighborhoods can be used within a tabu search algorithm.
3.8.1
Neighborhoods for project scheduling problems
Starting with some initial solution, local search algorithms try to find better solutions by exploring neighborhoods (cf. Aarts and Lenstra, 1997). The neighborhoods are given by a nedghborhoodfinction N : C -t 2' mapping the set of solutions C into the power set of C. For each solution o E C, JZ/ defines a set N ( u ) of neighboring solutions d. N ( a ) is called the neighborhood of a,and neighboring solutions u' E N ( o ) are referred to as neighbors of u. (a)
An order-based neighborhood function
In what follows, we discuss an order-based neighborhood function NOB for project scheduling problems PSltemp,dlf with regular, antiregular, continuous convex, binary-monotone, or quasiconcave objective functions f , i.e. functions of classes 1 to 5. For all these functions f , a minimizer S+(O) of f on some order polytope ST(0)# 0 can be found in the set of vertices of ST(0)(classes 1, 2, 4, and 5) or by computing some local minimizer of f on ST(O) (class 3), cf. Section 3.3. For simplicity, we henceforth assign exactly one minimizer S+(O) to each time-feasible strict order 0 by choosing the lexicographically smallest among all minimizers of f on S T ( 0 ) . Let again c r ( 0 ) be the covering relation of strict order 0 and tr(p) be the transitive hull of relation p, cf. Definition 1.4.2. The set of solutions COB consists of all timefeasible strict orders 0 in activity set V for which either 0 = 0 or there is a pair (i, j) E ~ ( 0such ) that schedule S+(tr(O \ {(i,j)))) is not feasible. In other words, we do not include orders in zoBthat result from strict orders 0 with S+(O) E S by adding a pair (i, j ) . Schedule S belonging to time-feasible strict order 0 E zoBis given by S+(O). The
320
Ch. 3. Minimization of General Objective Functions
neighborhood N o B ( 0 ) of strict order 0 is defined on the basis of adding or deleting appropriate pairs (i, j) to or from c r ( 0 ) . We distinguish between two cases: (i) If S+(O) is feasible and 0 # 0, then for each pair (a, j ) E cr(O), 0' := tr(cr(0) \ {(a, j))) is a neighbor of 0 . (ii) If schedule S+(O) is not resourcefeasible, we determine the earliest point in time t with r k ( S , t ) > Rk for some k E 72. For h , l E A(S,t), strict order 0' := t r ( 0 U{(h, 1))) is a neighbor of 0 provided that 0' is time-feasible. Since project network N contains cycles, it may happen that no pair (h,l) can be added to strict order 0 such that the resulting strict order 0' is again timefeasible. It is then necessary to delete pairs from 0 even though schedule S (0)is not feasible. Thus, in addition to the neighbors obtained by addiig pairs (h,l), we also generate the neighbors resulting from the deletion of pairs as described above for the case (i) of a feasible schedule St (0). f
A neighborhood function N can be visualized by a directed neighborhood graph Q with node set C (cf. Aarts and Lenstra, 1997, Ch. 1). In B two nodes a and a' are linked by an arc (u,ul) precisely if u' is a neighbor of a . Note that it may happen that a' is a neighbor of a but not vice versa. B is called weakly optimally connected if for a solvable problem, there is a directed path from any node a of Q to some optimal solution a' (for C = COB, we say that O* is an optimal solution if S+(O0)is an optimal schedule). If Q is weakly optimally connected, an optimal solution can be reached from any initial solution by iteratively moving from solutions to (appropriate) neighboring solutions. (3.8.1) Theorem. For instances of problem PSltemp,;il f with objective function f from classes 1 to 5, the neighborhood graph GOB of neighborhood function NOBis weakly optimally connected.
Proof. Obviously, there is a directed path in B from any node 0' to node 0 = 0. Thus, it is sufficient to show that there is always a directed path from 0 = 0 to an optimal solution O'.From Theorem 2.3.10 it follows that a time-feasible schedule S is feasible exactly if for each minimal forbidden set F E 7 ,there are two activities h,l E F such that SL- Sh ph. Thus, the union of all order polytopes ST(O1)belonging to neighbors 0' that result from 0 by addiig some pair (h,1) covers all feasible schedules of ST(0). Since the number of timefeasible strict orders is finite, the repeated addition of pairs (h, I ) to 0 finally leads either to a strict order 0' with ST(O1)= 0 or to a strict order 0' with feasible schedule S+(O1).
>
3.8. Schedule-improvement procedures
0
o
O
I
Legend: I
0
32 1
I
0
pj
4 1
-4
1
r;
TI
Figure 3.8.1: Project network N with a single resource (3.8.2) Example. We return to the project of Example 3.3.4 depicted in Fig. 3.8.1 with four real activities, one resource of capacity R = 2 and a = 9 , and we consider the corresponding earliness-tardiness problem. The due dates for the completion of activities 1 and 2 are dl = d2 = 5. Note that the start times of activities 0, 3, and 4 are fixed by minimum and maximum time lags. The earliness and tardiness costs per unit time are chosen to be wf = wT = wf = wF = 1. Fig. 3.8.2 shows a covering of the feasible region S by order polytopes (cf. Fig. 2.3.6) and the six schedules S 1 ,S 2 , . . . , S6 which minimize f on some nonempty order polytope. The set of solutions COB contains O0 = 0 and the 19 time-feasible strict for which there is a pair ( i ,j ) E c r ( 0 ) with S+(tr(O \ orders 0 1 , . . . ,019 { ( i , j ) ) ) )4 S (cf. Table 3.8.1). The minimizer S + ( O ) = S6 for strict order 0 = ( ( 4 , I ) , ( 4 , 2 ) ) is not listed in Table 3.8.1 because both strict orders 0 3 = ( ( 4 , l ) )and O 4 = { ( 4 , 2 ) )are feasible. As has been shown in Example 2.3.12, 0 1 to O6 represent inclusion-minimal feasible strict orders, whereas strict orders O0 and 0"to 011 are only timefeasible.
Figure 3.8.2: Feasible region S and minimizers on order polytopes
322
Ch. 3. Minimization of General Objective finctions
We construct the neighborhood of strict order 07. The corresponding minimizer S 3 is not feasible because activities 1, 2, and 4 are simultaneously in progress a t point in time t = 3. There are four alternatives of resolving this resource conflict by adding one pair (i,j ) to 0 = 0 such that the resulting strict order is time-feasible: (i,j ) := (1,4), (2,4), (4, I), or (4,2). Thus, are neighbors of 07. Since the added pairs strict orders 0 1 , 0 2 , OI2,and 013 (1,4), (2,4), (4, I), or (4,2) can be deleted again, 0, is also contained in the neighborhood of strict orders 01,0 2 , 0 1 2 , and 0 1 3 . Neighbor 00of 0 7 is obtained by deleting pair ( 3 , l ) from 07. However, strict order O7 is not contained in the neighborhood of Oo. The part of neighborhood graph goB which is induced by O7 and its neighbors is shown in Fig. 3.8.3. Table 3.8.1: Strict orders 0 in COB and corresponding minimizers S+(O)
Figure 3.8.3: Neighborhood NoB(07)
(b)
Tree-based neighborhood functions
Next, we develop neighborhoods for problems of type PSltemp,al f with locally regular or locally quasiconcave objective functions f , i.e. functions of
3.8. Schedule-improvement procedures
323
classes 6 or 7. As shown in Subsections 3.3.7 and 3.3.8, for a function f from class 6 or 7, there is always a quasiactive or quasistable schedule, respectively, which is optimal provided that S # 0. Recall that each quasistable (or quasiactive) schedule S can be represented by a spanning tree (or a spanning outtree rooted a t node 0, respectively) of schedule network N(O(S)), cf. Theorem 3.2.18. First, we construct a neighborhood function NSTon the set EST of spanning trees G of schedule networks N(O(S)) belonging to time-feasible schedules S. For two adjacent vertices of a nonempty schedule polytope ST(O(S)), there are two corresponding spanning trees which differ in exactly one arc. Now let G = (V, E G) be a spanning tree of N(O(S)) representing some vertex of ST(O(S)). Loosely speaking, we determine neighbors G' of G by removing an arc (i, j ) from G and adding a different arc (h, I) to G. In other words, we "shift" the subtree T of G which results from G by deleting arc (2, j) E E~ and which does not contain node 0 (i.e., we uniformly shift all activities i of T by some E 2 0) until a new constraint corresponding to some arc (h, I) becomes binding. Arc ( h ,1 ) either represents an original temporal constraint or a precedence constraint between an activity h of T and an activity 1 outside T. Before we describe neighborhood function NSTin more detail, we consider the four cases that may occur when shifting subtree T and thus transforming schedule S into some (not necessarily different) schedule 5''. Here "right-shifting" ("left-shifting") subtree T means that we uniformly rightshift (left-shift) all activities i of T by some E 0. For illustration, we again consider the project given by Fig. 3.8.1 and schedule S = (0,1,2,0,4,9) with corresponding spanning tree G and Gantt chart shown in Figs. 3.8.4a and 3.8.5a, respectively.
>
(a) We shift T such that the set of schedule-induced precedence constraints remains unchanged. This means that O(S1) = O(S), in other words, S' E SF(O(S)), see (3.3.10). For example, if we right-shift subtree T of G consisting of nodes 1 and 2 and arc (1,2) by one time unit, we obtain schedule S' = Si = (0,2,3,0,4,9), which induces the same feasible strict order as schedule S, cf. Figs. 3.8.4b and 3.8.513. (b) We shift T such that the set of schedule-induced precedence constraints is augmented. This means that ST(O(S1))c ST(O(S)). For example, if we left-shift subtree T of spanning tree G consisting of node 2 by one time unit, we obtain schedule S' = S"i = (0,1,1,0,4,9) with O(Si) > O(S), cf. Figs. 3.8.4~and 3.8.5~. (c) We shift T such that the set of schedule-induced precedence constraints is reduced. This means that ST(O(S)) c ST(O(S1)). Such a shift is always opposite to a shift augmenting the set of schedule-induced precedence constraints (case (b)).
324
Ch. 3. Minimization of General Objective finctions
(d) We shift T such that some schedule-induced precedence constraint is deleted and some different schedule-induced precedence constraint is added. This means that neither ST(O(S)) C S7(O(Sf)) nor ST(O(S)) > S T (O(S 1)). For example, if we leftshift the subtree T of G consisting of nodes 1 and 2 and arc (1,2) by one time unit, we obtain schedule S = Siii = (0,0,1,0,4,9) with O(S) 2 O(S1) and O(S) @ O(S1),cf. Figs. 3.8.4d and 3.8.511. f
Figure 3.8.4: The four cases of spanning trees differing in one arc In all four cases, the resulting schedule St represents a vertex adjacent to S in the closure of equal-rder set S;(O(Sfl)) of some schedule S '. In cases (a) and (b), S and S' are adjacent vertices of the closure of SF(O(S)). In cases (a) and (c), S and S are adjacent vertices of the closure of equal-rder set SF(O(S1)).In case (d), S and S' are adjacent vertices of the closure of equal-order set SF(O(SU)),where St':= 0.5 S + 0.5 S . For schedules S and S' = Sii$we obtain schedule S ' = (0,0.5,1.5,0,4,9). A neighbor G' E NST(G)can be determined in two steps. First, we delete an arc (i, j ) from G. Then, we shift subtree T until an original temporal f
f
f
f
constraint or a new precedence constraint corresponding to some arc ( h , l ) becomes binding. Note that if arc (i, j ) deleted represents a binding original temporal constraint, subtree T can only be shifted into one direction (if i E T, subtree T is left-shifted and if i $! T, T is right-shifted). T can be left- or right-shifted if ( 2 , j) represents a binding precedence constraint. Finally, we add arc (h, 1 ) and obtain spanning tree G . Next, we define a neighborhood function N O T on the set COT of spanning outtrees of schedule networks N(O(S)). Those spanning outtrees represent f
3.8. Scheduleimprovement procedures
Figure 3.8.5: Gantt charts for schedules S, 9 , p,and
S"i"
minimal points of schedule polytopes ST(O(S)).We obtain a neighbor G' E COT of G by first deleting some arc (i,j ) and second adding some different arc ( h , j ) . T is shifted until an original temporal constraint or a precedence constraint corresponding to some arc ( h ,j ) , where node h does not belong to T, becomes binding. In both cases, the resulting spanning outtree G' E zoT represents a quasiactive schedule. Set COT consists of all spanning trees from set EST which represent outtrees rooted a node 0. Eventually, we show that the neighborhood graphs GST and GOT for neighborhood functions NSTand N O T are strongly connected. Note that if G is strongly connected, each solution o E C and thus an optimal solution can be reached from each initial solution by iteratively moving from a solution to one of its neighbors. Thus, the strong connectivity of G implies its weak optimal connectivity. (3.8.3) Theorem. The neighborhood graphs G of (a) neighborhood function NSTand (b) neighborhood function N O T are strongly connected.
Proof. (a) Set STcan be partitioned into equal-order sets SF(O(S)). Two spanning trees from zSTare neighboring exactly if they represent adjacent vertices of some equal-order set SF(O(S)). Thus, there is a directed path from each node to any other node in G. (b) Obviously, the spanning outtree representing the earliest schedule ES can be reached from any other spanning outtree in G by successively deleting arcs (2, j ) corresponding to precedence constraints and leftshifting the respective subtree T. Moreover, if there is a subtree T of
Ch. 3. Minimization of General Objective Functions
326
a spanning outtree G E zoTsuch that a left-shift of T transforms G into some outtree G' E C O T , there is some subtree T' of G' such that a right-shift of T' transforms G' into G. Thus, there is a directed path from each node to any other node of 9.
6
4
2
s3 S1 2
Figure
4
6
8
Partition of ST into equal-order sets with vertices
(3.8.4) Example. We return to the project of Example 3.8.2. Fig. 3.8.6 shows a partition of set ST into equal-order sets in the Sl - Szsection and the projections S1,. . . , S14 of all quasistable schedules of ST onto the S1- S2 section. Set EST contains 192 different spanning trees of schedule networks each of which represents one of the quasistable schedules Ti,.. . , 314with=m~~p~d(~+~)(S b,,,+l) for p = 1,.. . ,14or .. 28,.. . ,F2 with Si+l= d for p = 1 .. 6 8 . . 2 Note that schedules S1,52, S3,S4,S9,SlO,and 3'' also represent minimal points of some schedule polytopes. We illustrate neighborhood functions NSTand NOT by constructing the respective neighborhoods for spanning outtree ci belonging to schedule F (cf. Fig. 3.8.7). First, we deal with neighborhood function NST. For spanning tree ci representing schedule F = (0,0,0,0,4,5), we determine the neighbors as follows. If we remove arc (0,l) from the resulting suhtree T , which consists of node 1, can only be right-shifted. We delay activity 1 by one time unit such that temporal constraint Sz - Sl 2 -1 and precedence constraint S3 - S1 2 1 become binding. Thus, we obtain neighbors ci and ci belonging ' by adding arcs (1,2) and (3, I), respectively (cf. Fig. 3.8.7, to schedule 3 where bold arcs correspond to binding precedence constraints).
zl,. ,F6,
c:,
st+,
+
3.8. Schedule-improvement procedures
Figure 3.8.7: Spanning tree and
c:
c: and its neighbors ci, c:,
327
z i , c z , ci,c:,
If we remove arc (3,2) from c;, the resulting subtree T, which consists of node 2, can only be right-shifted. We delay activity 2 until precedence constraint S3- Sz 2 2 and temporal constraint Sa- Sl 2 -1 become binding. Adding arc (3,2) or (2, I) to gi provides neighbors E: or Gz, respectively, belonging t o schedule (see Fig. 3.8.7). If we remove arc (0,3) or (3,4) from GA, the arcs to be added are (3,O) and (4,3), respectively, both belonging to a binding temporal constraint for schedule S1.Consequently, the resulting also represent schedule 3' (see Fig. 3.8.7). Finally, spanning trees and if we remove arr (4,5) from c t , the arc t_o be added is ( 5 ,O), which provides spanning tree belonging to schedule 3'.Fig. 3.8.8 shows the part of the neighborhood graph G induced by and the neighbors of When dealing with neighborhood function NOT, we obtain NoT(E:) = consisting of both spanning outtrees in neighborhood NST(E:).
s3
ct
c,!
{cZ,c:),
c,!
c,!.
328
Ch. 3. Minimization o f General Objective Functions
Figure 3.8.8: Neighborhood NST(Gt)
3.8.2
A tabu search procedure
In this subsection, we finally sketch a generic tabu search procedure for PSI temp,dl f based on the neighborhood functions discussed in Subsection 3.8.1. In each iteration, we move from current solution u to the "best" (feasible or infeasible) neighbor u' E N ( u ) with respect to a given cost function f. To avoid cycling in the search process, we keep a tabu list containing information on the itinerary through the last solutions visited. Moreover, we use intensification and diversification to improve the search process. In what follows, we describe a cost function and a tabu list for neighborhood functions NOB, NST,and NOT. hrthermore, we briefly sketch possible implementations of intensification and &versification as well as some stop criteria. Let S(u) be the schedule belonging to solution u E C. Then the cost function f is given by
7
f ( ~:=) f (S(u)) + E f [ r k ( s ( u ) , t )
- Rd*dt, if S(o) d S otherwise
We use a tabu list of given length v for storing neighborhood operators. For neighborhood function NOB, the tabu list contains the pairs (a,j ) added or removed, respectively, in the last v iterations by generating the new iterate. Then, when determining the neighborhood of strict order 0, we do not add or remove any pair ( i , j ) from 0 which is contained in the tabu list. For neighborhood functions NSTand N O T , the tabu list contains arcs ( h , l ) added in the last v iterations. When generating the neighbors of current spanning tree (outtree) G, we do not remove any arc (i, j ) from G which is contained in the tabu lit. If the best solution found thus far cannot be improved within a certain number of iterations or if the neighborhood of the current solution is empty, we apply diversification as follows. First, we empty the tabu list. For
3.9. Application to investment projects
329
neighborhood function N O B , we then randomly delete a given number of pairs (i, j ) from the covering relation c r ( 0 ) of current solution 0 and add the reverse pairs ( j ,a ) to 0 provided that the transitive hull of the resulting relation is time-feasible. For neighborhood functions NSTand NOT, we shift subtree T until either a new temporal constraint or precedence constraint correspondig to arc (j, i) becomes binding. For intensification, we store a set EL consisting of a certain number of solutions with smallest cost function values generated in the course of the algorithm. After a prescribed maximum number of iterations it or after the evaluation of a given maximum number of schedules (which represent the two stop criteria for the tabu search procedure), we then perform intensification before stopping the algorithm. That is, we return to the best solution found so far, empty the tabu list, and perform some further iterations, where we do not remove those pairs ( i ,j) (or arcs {a, j)) which belong to all strict orders (or spanning trees, respectively) of set EL stored. Algorithm 3.8.5 summarizes the proposed tabu search procedure. For neighborhood function N O B , the initial schedule is represented by tirnefeasible strict order u and for NST(or n/OT), by a corresponding spanning tree u (or spanning outtree u , respectively) of schedule network N(O(S)). (3.8.5) Algorithm: Tabu search for PSltemp,
f.
Find an initial schedule S , for example, by Algorithm 3.7.1. Determine some solution u E C representing schedule S. Set it := 0 and S* := S. Repeat Set it := it 1. Compute neighborhood N ( a ) of a taking into account the tabu list. If N ( a ) 0 t h e n
+
+
Select u' E N ( u ) with minimum cost function value f(ul). If f(ul) 5 f ( ~ * t)h e n S*:= S(al) and it := 0. Update the tabu list and set u := u'. E n d (*if *) If it =it o r N(a) = 0 t h e n apply diversification and set it := 0. Until one of the two stop criteria is met. Perform intensification. R e t u r n best schedule S*found.
3.9
Application to investment projects
Project managers are frequently confronted with the problem to decide on whether some investment project should be performed or t o select one out of
330
Ch. 3. Minimization of General Objective finctions
several mutually exclusive investment projects from a given portfolio. For the assessment of investments, the net present value criterion is well-established in research and practice (cf. Copeland and Weston, 1999, Sect. 1.2, Brealey and Myers, 2000, Sects. 1.2 and 1.5). In classical investment theory, investments are specified by a stream of payments, i.e. a series of payments with associated payment times. For a stream of payments, the net present value is obtained by summing up all payments discounted to time zero (cf. Fig. 3.9.la, where exogenous parameters are written in italics). Case (a)
Case (b)
Case (c)
investment project
investment project
3
payments D time lags D
2
5
payments D time points D g
5'
g
=
5'
09
09
optimization problem
B
payments D tame lags D
optimization problem -J
g:
a&. 0
3
discount mte D deadline D
2-
i;'
8' 1
stream of payments
K discount mte D iE
5 1
stream of payments
%
0.
0
"discount mte
v
5 E
, net present value
n
npv function
net present d u e
1. 0
preference D
z2
,%
preference value
Figure 3.9.1: Assessment of investments and investment projects
In case of investment projects, the payment times are no longer given in advance but are subject to the scheduling process. The stream of payments then results from maximizing the net present value of the project subject to the given minimum and maximum time lags, i.e., from solving the timeconstrained net present value problem PSwl temp, 21- C cfPC. treated in Subsection 3.5.2a (cf. Fig. 3.9.lb). The formulation of the latter optimization problem presupposes the knowledge of the discount rate for discounting the payments and the specification of a maximum project duration (project deadline). In practice, however, often neither the proper discount rate nor a project deadline are known with sufficient accuracy when scheduling an investment project. This is due to the following reasons. First, the proper
3.9. Application to investment projects
331
discount rate is a theoretical value and can only be estimated. Thus, the investor should know the maximum net present value of the project for an appropriate interval for discount rates when deciding on whether or not a project should be carried out or selecting one project from a given portfolio. Second, the project deadline generally results from negotiations between the investor (e.g. a building contractor) and the respective client. In general, the client wants to terminate the project as early as possible. The contractor, who carries out the project, tries to maximize his profit. Since the maximum net present value of a project depends on the project deadline negotiated, the contractor requires information on the correlation between the project deadline and the maximum net present value of the project before the negotiations. In what follows, we sketch a parametric optimization approach devised by Schwindt and Zimmermann (2002), which provides the (maximum) project net present value as a function of the discount rate and the project deadline. The resulting net present value curve supports the investor's decision, which also depends on his individual risk preference (cf. Fig. 3.9.1~).Schwindt and Zimmermann (2002) have discussed the following example of an investment project, which results from structural, temporal, and cost analyses of a small construction project. (3.9.1) Example. Consider a construction project consisting of two subprojects PI and P2, which can be performed simultaneously. Subproject PI contains activities 1 and 2, and subproject P2 activities 2 and 3. The completion of the two subprojects PI and P2 is represented by the milestones 4 and 5, respectively. By adding the project beginning and termination, we obtain the set of activities V = (0,1,. . . ,5,6). Since each real activity can only be carried out when the project has been started, we have minimum time lags between the project beginning and activities 1, 2, and 3. Moreover, there are minimum time lags between activities 1, 2, and 3 and the milestones of the subprojects the activities belong to. Since the project termination cannot occur before the completion of all subprojects, there is a minimum time lag between each milestone and the project termination. Finally, we have to observe a prescribed maximum project duration, which gives rise to the backward arc (6,O). Fig. 3.9.2 shows the resulting project network (without arc weights). We suppose that the temporal analysis provides the activity durations pl = 2, p2 = 1, and p, = 2. The durations of the fictitious activities 0, 4, 5, and 6 are equal to zero. Activities 1, 2, and 3 can be started a t the project beginning, i.e., arcs (0, I), (0,2), and (0,3) have zero weight (see Fig. 3.9.3). We assume that after the completion of activity 2, there is a waiting time of three time units in subproject P2 before milestone 5 can occur. Consequently, arc (2,5) is assigned the weight 625= 4. Since milestones 4 and 5 occur when the corresponding subprojects PI and P2 are completed, we have 611 = 2, 624 = 1, and hZ5 = 2. Furthermore, we suppose that the project can be
332
Ch. 3. Minimization o f General Objective Functions
Figure 3.9.2: Project network (without arc weights) terminated two time units after the completion of both subprojects. Thus, arcs (4,6) and (5,6) have a weight of two each. Finally, we assume that due t o contract conditions, there is a prescribed maximum project duration of six time units, which provides the arc weight cfeO = -6.
Legend:
Figure 3.9.3: Project network with payments The cost analysis assigns paying outs of two, six, and four monetary units t o activities 1, 2, and 3, respectively. Subproject PI is performed in a cost neutral way. 25% of the payment for subproject PI is to be delayed as a For subproject P2,we assume a return on terminal payment a t time Sntl. capital of 25%. The disbursement c r = -6 is assigned to subprojects PI and Pz at a ratio of one t o two. Hence, the paying outs of the two subprojects are cFl = -4 and = -8, respectively. For the progress payments at the termination of the subprojects, we obtain c r = 3 and c[ = 10. As terminal payment, we have c[ = 1. Fig. 3.9.3 shows the project network which results from the structural, temporal, and cost analyses, where the activities or respectively nodes are labelled by the corresponding durations and payments.
3.9. Application to investment projects
3.9.1
333
Computation of the net present value function
In Subsection 3.5.2a, we have developed a steepest descent algorithm for problem PScoJtemp,;il- C cfBC., i.e. Minimize
f ( S )= -
C~ r , 8 ~ ~ + ~ * iEV
subject to S E ST which provides a schedule S E ST with maximum net present value CiEVc:PSi+p'. In problem (3.9.1), discount rate P and project deadline are assumed to be exogenous problem parameters. In practice, however, the proper discount rate can only be estimated and the project deadline is generally negotiated between investor and client. Thus, the investor needs to know the project net present value for a relevant range of values for p and a. Subsequently, we develop a parametric optimization procedure that determines the maximum project net present value as a function of discount rate j3 and project deadline a. The following considerations rely on two basic observations: first, since f is a binary-monotone objective function, there always exists an optimal solution S to problem PScoI temp, 21- C
denote the net present value of the activities from set K j given schedule S. Then we have the following sufficient and necessary optimality condition: (3.9.2) Proposition. Given p and 2, vertex S is a time-optimal schedule for problem PScoltemp, dl G - C cDC; if and only if for each arc (i, j ) E E of the corresponding spanning tree G, it holds that npvij(S)2 0 if ( i , j ) is a forward arc and npvij(S) 5 0 if (i, j ) is a backward arc.
334
Ch. 3. Minimization o f General Objective finctions
Figuratively speaking, Proposition 3.9.2 states that if S is a time-optimal schedule, then no subproject with positive net present value can be started earlier and no subproject with negative net present value can be delayed. This statement results from our above assumption that G is a spanning tree for which t. = 0 is the solution to the steepest descent direction problem (SDD) a t schedule S. Furthermore, in Schwindt and Zimmermann (2002) the following proposition is proved. (3.9.3) Proposition. Given p < 1, the spanning tree G belonging to timeoptimal schedule S does not change when varying project deadline 2 until a temporal constraint Sj - Si 2 6, with (2, j ) E EG becomes binding.
The set V' of activities i for which S, varies in a timeoptimal schedule S when varying 2 is equal to set Vn+,,,, if (n 1,O) E E G . If we have a terminal 1) with = 2, and payment a t time - a, arc set E contains arc (0,n hence Sn+l= d for all time-feasible schedules S. In that case, V' = &,n+l if (0, n 1) E EG. If neither (n + 1,O) E EG nor (0, n 1) E E G , then V' = 0. Given spanning tree G, a time-optimal schedule S can be determined by solving the system of equations So= 0 and Si - S, = 6,j ((i,j) E E G ). The amount by which ;ican be increased until a temporal constraint becomes binding is
+
+
+
u+ = min{Sj
+
-
Si - bij I (a, j) 6 E \ {(n
+ l,O)},
i E V', j 4 V'}
(3.9.2)
(compare (3.5.1)). Analogously, for the amount by which ;ican decrease, we obtain u- = minisj - Si - Jij
I ( i , j ) E E \ {(O,n + I)}, i 4 V ' , j E V'}
(3.9.3)
The spanning tree G' associated with timeoptimal schedule Sffor project deadline d = 2 u+ or d = 2 - u- can be constructed by first, adding arc (i, j ) representing the new binding temporal constraint Sj-Si 2 6ij to G and second, deleting an oppositely directed arc (g, h ) with minimum Inpvgh(S)I in the resulting undirected cycle (i.e. the sequence of nodes (io, il, . .. , i,) where i o = i, and, for each p = 1,. . . , v, either (a,-1, i,) E ECor (i,, i,-1) E E G ). According to Proposition 3.9.2, schedule S is timeoptimal for discount rate and project deadline ;iif npv"(S) 2 0 for each forward arc (a, j ) E EG and npu'J(S) 5 0 for each backward arc (i,j ) E E. Thus, in analogy to Proposition 3.9.3, we additionally have
+
(3.9.4) Proposition. Given deadline 2, the spanning tree G associated with a timeoptimal schedule S does not change when varying discount rate /3 until for some arc (i, j ) E E G , net present value npv"(S) changes in sign.
3.9. Application to investment projects
Let
335
P,f,> p: > .. . > plVj be all discount rates pij < 10 for which
Each of those discount rates ,Bij represents a zero of the polynomial induced by the payment stream given by payments cf and payment times S h (h E These zeros and thus the discount rates can be determined by standard algorithms (cf. e.g., Zheng and Sun, 1999, or Ikhile, 2002). With - p;}, condition Ap := min{p - /3:j,p:i - p i , .. .
xi).
sign
C $(Pi, - A,B)Sh+ph# sign C c;(Pij
hEK,
+ Ap)Sh+~h
(3.9.5)
is necessary and sufficient for a change in the sign of npv"(S) a t pip For each set V,. ( ( 2 , j) E EG),we determine the largest discount rate pii < p which satisfies conditions (3.9.4) and (3.9.5). Let p' := maqij ) E ~pii be the greatest of those discount rates. Note that a change in d does not affect the time lags between the start times of the activities h E Ki. Thus, p' depends only on spanning tree G (and not on a). A time-optimal schedule St for discount rate p' then results from S by delaying activities h E V, where p' = Pij by u+ if (i,j ) is a forward arc, and by scheduling the activities h E I/,j o- time units earlier if (i, j ) is a backward arc. The corresponding spanning tree G' can be determined in analogy t o the case where deadline is increased or decreased. In summary, each spanning tree G is valid for a rectangle p',P] x [;i, dl where p' and d can be computed as described above. The maximum project net present value npv' can be written in closed form
on that rectangle, which is also termed a validity subdomain of function npv*. Recall that V' in (3.9.6) is the set of activities i for which S i varies in a timeoptimal schedule S when varying 2 Function npv* is continuous and it is differentiable in the interior of each validity subdomain. For the determination of function npv*, it remains to be shown how to cover the domain [0, l [ x [ES,+I,a[of npv* by appropriate validity subdomains where each~subdomainis represented by its northwest (upper left) corner. The northwest corners (@,a)of appropriate validity subdomains and spanning trees G valid for the corresponding rectangles can be determined by the following Algorithm 3.9.5. In this algorithm, R is a list of triples (P, d, G) still to be considered and sorted by nonincreasing discount rates P, where ties are broken according to increasing maximum project durations 2, and r is the set of all triples G ) generated, where (@,a)represents a northwest corner of the validity subdomain for spanning tree G.
336
Ch. 3. Minimization of General Objective Functions
We start the algorithm with spanning tree G for sufficiently large discount rate p = ,Bma" and 2 = ESn+I. How to compute Pmax explicitly will be discussed later on. Initially, list R and set r only contain triple (PmaX,ESn+I,G ) . In each iteration of the algorithm, we remove the first triple (,B,z,G)from list R, compute the maximum discount rate p' < ,B meeting conditions (3.9.4) and (3.9.5),construct the spanning tree G' belonging to ,9' and 2 as described above, and add the triple (p', 2, GI) t o list R and set I? if ,9' > 0. @',a) represents the northwest corner of the subdomain belonging to spanning tree G'. Next, we again consider spanning tree G and discount rate p and iteratively increase the maximum project duration a by the current step size u f until u f = w. For each intermediate spanning tree G", we add triple ( b , d , G 1 ' to ) set r where (,B,b) represents the northwest corner of the validity subdomain for GI1. Furthermore, for each triple (p,-d,G"), we again compute maximum discount rate p',construct spanning tree G f ,and add the corresponding triple (,9',2,G') with 2 = -d to R and I?. We reiterate these steps until list R becomes empty. (3.9.5) Algorithm: Computation of the validity subdomains of function npv*.
Determine initial spanning tree G for 2 = E S n + ~and P = Pma"using Algorithm 3.5.7 Initialize list 0 and set r with triple (/3maZ, ESn+l,G ) While R 0 do Delete first element G ) and all other elements ( p , .,G ) from list R Repeat Determine P' := max{Pij I (2, j) E EG,pijsatisfies (3.9.4)and (3.9.5)) If ,9' > 0 then Construct spanning tree G' for P' and ;i,and add ( P , ; i ,GI) to R and r End (* if *) Compute u+ by (3.9.2) If u+ < oo then set -d : = d + u + Construct spanning tree G" for P and -d If there is no triple ( P , .,G") E I? then add ( ~ , - dG") , to Set G := G" and 2 := -d End (* if *) Until a+ = co End (* while *) Return set I?
+
(@,a,
3.9. Application to investment projects
337
An initial spanning tree G can be determined using the steepest descent algorithm from Subsection 3.5.2a. For initial discount rate P, we choose a sufficiently large discount rate Bmax < 1 with the property that for G and all intermediate spanning subtrees G", the optimality conditions from / E]Dmnx,l[. The latter property is Proposition 3.9.2 are satisfied for all 3 1[ that fulfills condition (3.9.4) satisfied if there does not exist any for any arc ( i ,j ) E EQ. At first, we note that
is an upper bound on the maximum project duration belonging to any spanning tree G or G". We obtain the largest discount rate & < 1 that meets equation (3.9.4) if 1/;, can be partitioned into sets V,j and K; with 0 > c$, := -ma% CgEy; = - Chey;c:+l and Sh = Sg+d for all g E V,; and all h ;Ivy. In other words, there is no discount rate larger than (c;. /(c{: - l))+ such that condition (3.9.4) is fulfilled. Since cF/(c;, - 1)'lis decreasing in c;;, we may replace cF, by CIeVmin(0, cf) and obtain
:::
Y,
(3.9.6) Example. To illustrate Algorithm 3.9.5, we determine the net present value function npv* for the project from Example 3.9.1, where we assume that there is a terminal payment a t time ;i(i.e., S,+I = S6= 2). This means that we add arc (0,6) with weight to the project network in Fig. 3.9.3 and choose arc We obtain ;i""" = 13, CiGvmin(0, c?) = -12, weight 660to be equal to Pmax = [(-12)/(-13)lh = 0.993862 and ES,,+i = 6. Fig. 3.9.4 shows initial spanning tree Go, which can be determined by means of Algorithm 3.5.7 The time-optimal schedule S belonging choosing P = Dma2 and 2 = ESn+l. toG0isS=(0,0,0,2,2,4,6).
-a.
Figure 3.9.4: Spanning tree Go for
B = 0.993862 and 2 = 6
To compute the validity subdomain of npv* for Go, we determine for each arc ( i , j) E E ~ Othe largest discount rate Pij < P for which (3.9.4) and (3.9.5)
338
Ch. 3. Minimization of General Objective hnctions
are satisfied. The respective discount rates Ptj are shown in Fig. 3.9.4. The greatest discount rate is p' = PO6 = 0.972214. The spanning tree G' = G' helongiig to ,6" = 0.972214 and deadline = 6 is obtained by replacing arc (0,6) with arc (6,O) (see Fig. 3.9.5). Triple (0.972214,6, G1) is added t o list R and to set I?.
Figure 3.9.5: Spanning tree G1:
= 0.972214,z = 6
Next, we again consider spanning tree Go and increase the maximum project duration by current step size a+. V' equals V06 = {2,3,5,6) and a+ = S4 - S2-624 = 2 - 0 - 1 = I, i.e., d = 7. Activities 2, 3, 5, and 6 are delayed by one time unit each, which provides time-optimal schedule S' = (0,0,1,3,2,5,7). Adding arc (2,4) to Go results in undirected cycle (0,1,4,2,5,6, O), where npvol(S') = 0.963284, npv14(S') = 2.963284, npvZ5(S') = -5.963171, and n p ~ ~ ~ ( = S ' -0.193125. ) Consequently, we remove arc (5,6) from Go and obtain spanning tree G" = G 2 shown in Fig. 3.9.6. Triple (0.993862,7,G2) is added to set I?. For G 2 it holds that V' = Vo6= (6) and a+ = w because (6,O) is the only arc with initial node from set V' and terminal node from set V \ V'.
Figure 3.9.6:Spanning trees G2 and G3 To determine the validity subdomain of npv* for G2, we compute the largest discount rates P i j < P for each arc (i,j ) of G2 such that (3.9.4) and (3.9.5) are satisfied. The greatest of the latter discount rates is p' = POI = 0.971841. From spanning tree G 2 , we proceed to spanning tree G 3 shown in Fig. 3.9.6. The corresponding triple (0.971841,7, G3) is added to list R and set r.
3.9. Application to investment projects
339
Going on, we obtain two more spanning trees G4 and G 5 , where G 4 results from G 1 by replacing arc (0,l) with arc (4,6) and G5 results from G 3 by replacing arc (0,6) with arc (6,O). This provides the six validity subdomains for function npv* shown in Fig. 3.9.7. Given the spanning trees G o ,G 1 , . ... G S and correspondiig validity subdomains, the maximum net present value npv* can regionwise be written in closed form (3.9.6). For spanning trees G o and G 1 as well as for G 3 and G 5 , the form of npv* is the same because the corresponding spanning trees only differ in the orientation of the arc connecting nodes 0 and n 1. This does not affect closed form (3.9.6), but rather leads to a change in the type of monotonicity of function npv*(/3,.) (in the present case from decreasing to increasing).
+
+
@ and G': npv*(4,Z)= -2 + 3B2 - 6pZ-' - 4 ~ ' - ~ B' G Z : npv*(4,Z)= -2 - 6B1+ 3P2 - 4P3 + 10P5 + pd G3 and G5:n p v 8 ( 4 , 2 )= -24Z-7 - 6p2-' + 3 ~ - 4p;i-4 ~ - + 10b;i-2 ~ + p' G 4 :npv*(p,Z)= -6bii--6 - 68z-4 + 134d-2 + bZ
+
Figure 3.9.7: Regionwise form of npv* Fig. 3.9.8 shows the graph (with contour lines) of function npv* over the subset [0.5,1] x [6,8] of its domain. The figure illustrates our previous observation that function npv* is continuous.
3.9.2
Decision support
In this subsection, we consider an investor who can perform one out of several investment projects from a given portfolio 7 ' = { P 1 , .... P"). In a first step, for each project P' ( p = 1 , .... v), the i2vestor has to fix a deadline 2 E { d , d 1, ... ,-d'} with d 2 ES,,+l and -d 5 Pmaccording to an interval for the proper discount rate, where is given by (3.9.7). In a second step, the investor must select one project with respect to the fixed deadlines. Both subproblems represent decision problems under ignorance (i.e., we consider the case of uncertainty with completely unknown probabilities, cf. Sinn, 1989,
+
340
Ch. 3. Minimization of General Objective Functions
Figure 3.9.8: Graph and contour lines for net present value function npv" Sect. 1.B), where a set of actions A (deadlines or projects) and a set of states S (proper discount rates) are given. For each action a E A and each state s E S, the utility u(a,s ) is assumed to be known. A well-known decision rule for decisions under ignorance is the sbcalled optimism-pessimism rule (see e.g. Resnik, 1997, Sect. 2). The latter rule says that we choose action a E A such that the preference value p(a) :=
X max u(a, s ) sES
+ (1 - X ) 2s"~ ( as ),
(3.9.9)
is maximum, where X E [0,I] denotes the optimism index of the investor. Let 'npv* denote the net present value function for project P' E P. Then, in the first step, if we use the optimism-pessimism rule for selecting deadline d for project Pp, we have to solve the optimization problem Maximize p(;i)= X m e ~ n p v @,a)+ ' 86[8,01
I
where [P,ais an interval for the proper discount rate, which depends on the presentlevel of interest rates and the standing of the investor. If the terminal payment can be made before time d, npv* is nondecreasing in d. Thus, d = b' is always-an optimal decision. If there is a terminal payment a t time = d ) , npv* is no longer monotone in a. In the-latter case, for d (i.e., solving problem (3.9.10). we compute for each ;iE ( 2 , . . ,dl), the quantities ma%,le3, "npv*(,B,d) and mina,[8,81 Pnpv*(P,2). Since in each validity -
-
3.9. Application to investment projects
341
subdomain, the partial derivatives of function "npv* again represent a polynomial in p, the minimizers and maximizers of Pnpv*(.,q can be determined by computing the zeros of the respective polynomial. Let ;i'" be an optimal deadline ;ifor project P'. In the second step, we have to choose the best project P' out of portfolio P, i.e., we have to solve the problem Maximize p(P')
=
X max 'npv*(/3,?)+ B€@W min_ @ n p v * ( ~ , z ' )
(3.9.11)
8.@,8,
subject to P' E P again using the optimism-pessimism rule.
(3.9.7) Example. To illustrate the selection of the maximum deadline for a given project, we consider the investment project from Example 3.9.1. For the interval of proper discount rates and the set of alternative deadlines, the investor chooses [/3,$] - = [0.94,0.98]and ( 2 ,... = {6,7,8}. Function npv* defined on [0.94,0.98] x [6,8] is decreasing in P. Thus, for the three different values of d , it is suffcient to compute the values of function npv* for p = 0.94 and P = 0.98. Table 3.9.1 shows the function values npv*(B,d ) and the preference values of an investor according to the optimism-pessimism rule for optimism indices X = 0, 0.5, and 1 , where the optimal values are in bold.
a
,z}
Table 3.9.1: Values npv*(i,d) and preference values p(2) according to the optimism-pessimism rule
The example shows that the determination of the best deadline using the optimism-pessimism rule depends on the optimism index X chosen. In particular, for different values of X any of the possible deadlines may be • optimal.
342
Ch. 3. Minimization of General Objective hnctions
3.10
Hierarchical project planning
In this section, we discuss a hierarchical planning model for multi-project scheduling, which includes long-, medium-, and short-term project scheduling problems. Alternative hierarchical planning models for specific scheduling applications can be found e.g. in Speranza and Vercellis (1993), Franck et al. (1997), Neumann and Schwindt (1998), Kolisch (2001), and Zimmermann (2001, Sect. 1.3). Concepts of hierarchical planning theory are addressed in more detail in the books by Hax and Candea (1984), Schneeweii3 (1999), and Miller (2002). We briefly recall the basic elements of hierarchical planning needed for what follows. The starting point of a hierarchical planning approach is the decomposition of a monolithic model for the underlying planning problem into several (partial) models, which are assigned to different planning levels. In general, there may be several models at each level. A plan obtained at a higher level is passed on as instructions to the next lower level, where the instructions enter into the constraints and objective functions of the planning models and thus allow for an implicit coordination of the independent models. The aim of hierarchical planning is to reduce the size and complexity of the original problem while preserving the essential dependencies between the decision variables of the planning problem. To this end, the models often refer to aggregated data. Typically, the highest level is associated with a single rough-cut planning model, which is then stepwise exploded into a hierarchy of refined models. At each level, the set of models covers the entire planning problem, where the degree of aggregation decreases with descending planninglevel. To avoid inconsistencies when disaggregating the instructions, the models generally -- anticipate the effect of alternative instructions on the detailed plans generated a t lower levels. Conversely, lower levels may communicate a feedback after planning. The feedback influences subsequent planning runs a t higher levels, either before or after implementation of the plans (case of ex-ante or ex-post feedback, respectively). As a consequence, the planning procedure may return to higher levels that have been considered before. Now let us assume that we have to schedule a portfolio of long-term projects like development or construction projects, which are to be performed within a planning horizon of two to five years. For each project, we have a release date for the project beginning and a deadline for the project termination. The individual projects consist of several subprojects, which include different working packages, where each working package again decomposes into individual activities requiring t i e and resources and being associated with a positive or negative payment. For carrying out the projects, three different types of renewable resources are needed: -
(a) Strategic key resources like experts, research equipment, or specialpurpose facilities. The procurement of key resources often belongs to the general business strategy and may require several years of lead time. Hence, we assume the availability of those resources to be given.
3.10. Hierarchical project planning
343
(b) Expensive primary resoumes such as technical and administrative staff or machinery, which can be procured from the market for the medium term. These resources are usually not considered in the context of long-term planning. (c) Low-cost secondary resources, e.g. tools or auxiliary devices, which similarly t o primary resources, can be supplied in adequate amounts for the medium term. Secondary resources are disregarded during longand medium-term planning. For short-term planning, however, their availability must be taken into account. Basically, the scheduling of the project portfolio is performed in three phases located at three diierent aggregation levels, which differ in their planning horizon. At each level, we deal with a distinct type of project scheduling problem characterized by the planning object (the project portfolio, a condensed project, or a detailed project), the aggregate activities (subprojects, working packages, or individual activities) to be scheduled, and the resource types (key, primary, or secondary resources) involved (see Fig. 3.10.1). Before we describe the project scheduling problems assigned to the three planning levels, we explain how in our hierarchical planning system, the coordination of independent partial models is achieved by the instruction mechanism. Planning
Planning
phases
objects
Aggregate Re-urce activities types
Long-term
Portfolio of projects
Subprojects Key resources
Condensed project
Working packages
Primary resources
Detailed project
Individual activities
Secondary resources
planning
capacities of hey and primary
resources
-
Short-term planning
,
. , Short-term planning
,,
. Short-term planning
Figure 3.10.1: Hierarchical multi-project planning process
344
Ch. 3. Minimization of General Objective Functions
At the first level (long-term planning), all projects from the portfolio are considered simultaneously. Aggregate activities correspond t o subprojects, which are scheduled subject to scarce key resources and a financial objective. The instructions to the second planning level are as follows. The resulting schedule provides a maximum duration for every project, which is equal to the difference between the start of the first and the completion of the last subproject belonging to the project. Moreover, the resulting resource profiles for the key resources define time-dependent resource capacities for the key resources a t the second level. At the second level (me um-term planning), we deal with every project separately. Each project is aggregated t o a condensed project by choosing the aggregate activities to be the working packages. Aside from the key resources, we now take into axcount the primary resources as well. We schedule the aggregate activities (working packages) of a project such that the keyresource capacities assigned at the first level are observed and some measure of the variation of the primary-resource utilization over time is minimized (levelling of resource usage is particularly important if the resources under consideration represent teams of employees, cf. Ahuja, 1976, Ch. 11). Since for the medium term, primary resources can be procured from the market, their availability is supposed t o be unlimited. The resource profiles obtained for the key and primary resources specify time-dependent resource capacities for the third planning phase. At the third planning level (short-term planning), the condensed projects are disaggregated to detailed projects with individual activities. Scheduling di is again performed for single projects, where now resource constraints are given for all three types of resources. For each project, we determine the start times of the corresponding activities in such a way that the maximum project duration from long-term planning is met. If there is a project for which the duration obtained in the short-term planning phase exceeds the prescribed maximum duration, we return to the first level. Based on the ex-ante feedback of the detailed project schedule, we enlarge the estimated duration of the corresponding subprojects according t o the short-term schedule. The three planning phases are iterated until shortterm planning yields a feasible schedule for each project of the portfolio. Next, we describe the project scheduling problems t o be solved at the three planning levels in more detail. For long-term planning, we consider a multi-project network containing all subprojects from the given portfolio as aggregate activities. The (estimated) duration of an aggregate activity equals the shortest duration of the subproject arising from temporal scheduling computations plus an appropriate time buffer for waiting times of individual activities of the subproject. The time buffer anticipates the time extension of the aggregate activity that will occur when scheduling the disaggregated projects subject t o scarce resources at the third level. Appropriate time buffers can be roughly preestimated by using concepts from queueing theory for computing expected
3.10. Hierarchical project planning
345
waiting times (cf. Sohner, 1995, Ch. 3). In case of feedback from the shortterm planning phase, those time buffers may be enlarged. Moreover, each aggregate activity is associated with a payment, which coincides with the sum of the payments incurred by the respective project activities. The time lags between aggregate activities are given by the time lags between individual activities from different subprojects and the release dates and deadlines for the projects from the portfolio. The maximum time lag between the beginning of the first and the termination of the last project from the portfolio is equal t o the planning horizon of the planning problem. As key-resource requirements of an aggregate activity (or respectively subproject), we use the ratio of the total workload of the subproject and its preestimated duration. The capacities of the key resources are supposed t o be fixed by the general business strategy. The financial objective function is chosen t o be the (negative) net present value of the project portfolio. In sum, long-term planning is performed by solving a resource-constrained net present value problem of type PSltemp,;il- CcFPc, covering all projects from the portfolio. Such a problem can be solved by the branch-and-bound procedure described in Subsection 3.5.2 or a priority-rule method from Subsection 3.7.2 for sumseparable objective functions. In the phase of medium-term planning, the individual condensed projects are treated independently. The aggregate activities to be scheduled are the working packages. The durations and resource requirements of the aggregate activities and the time lags between aggregate activities can be determined analogously t o long-term planning. The maximum project duration and time-dependent resource capacities of key resources result from the long-term planning instructions. For dealing with timedependent resource capacities, we introduce auxiliary activities with fixed start times (see Subsection 2.16.4). In addition to the key resources, we take into account primary resources with unlimited availability. The objective of medium-term planning is to level the usage of primary resources over the project duration. The problem can be modelled as a resource-constrained resource levelling problem PSI temp, 21 f where objective function f is of type C ck C r;,, C ck C okt, or C C c:A+rkt cLA-rkt, the resource constraints refer t o key resources, and the objective function refers t o primary resources. We notice that if a feasible schedule has been found in the course of long-term planning, the medium-term planning problem is always solvable. An appropriate schedule for the latter problem can be determined by using the tree-based enumeration scheme for locally quasiconcave objective functions from Subsection 3.6.1 adapted t o the case of resource constraints as sketched in Subsection 3.6.2b, or one of the priority-rule methods for r-dependent objective functions described in Subsection 3.7.2. During short-term planning, we perform a fine-grained scheduling of each detailed project, where we now determine start times for individual activities. All three types of resources are now assumed t o have limited capacity. The availabilities of the key and primary resources result from medium-term
+
346
Ch. 3. Minimization of General Objective Functions
instructions and are generally time-dependent. The objective of short-term planning is to meet the deadline for the completion of the project determined a t the long-term planning level. Thus, as objective function we choose the project duration, and the project scheduling problem to be solved is of type PSltemplC,,,,. Exact and heuristic methods for solving the latter problem have been discussed in Sections 2.5 to 2.7. In conclusion, Table 3.10.1 gives an overview of the project scheduling problems assigned to the long-, medium-, and short-term planning levels. Table 3.10.1: Overview of planning objects, aggregate activities, resource types, and objective functions for long-, medium-, and short-term planning .-
References [I] Aarts, E., Lenstra, J.K., Eds. (1997), Local Search in Combinatorial Optimization. John Wiley, Chichester [2] Adelson-Velsky, G.M., Levner, E. (2002), Project scheduling in AND-OR graphs: A generalization of Dijkstra's algorithm. Mathematacs of Opemtions Research 27, 504-517 [3] Ahuja, H.N. (1976), Construction Performance Control by Networks. John Wiley, New York [4] Ahuja, R.K., Magnanti, T.L., Orlin, J.B. (1993), Network Flows. Prentice Hall,Englewood Cliffs [5] Aldowaisan, T., Allahverdi, A,, Gupta, J.N. (1999), A review of scheduling research involving setup consideration. Omega 27, 219-239 [6] Alle, A., Pinto, J.M. (2002), Mixed-integer programming models for the scheduling and operational optimization of multiproduct continuous plants. Industrial & Engineering Chemistry Research 41, 2689-2704 [7] Alvarez-Valdes, R., Tamarit, J.M. (1989), Heuristic algorithms for resourceconstrained project scheduling: A review and an empirical analysis. In: Slowinski, R., Weglarz, J . (Eds.), Advances in Project Schea'uling. Elsevier, Amsterdam, 113-134 [8] Baar, T., Brucker, P., Knust, S. (1998), Tabu-search algorithms and lower bounds for the resource-constrained project scheduling problem. In: Voss, S., Martello, S.,Osman, I., Roucairol, C. (Eds.), Meta-Heuristics: Advances and Ben& in Local Search Paradigms for Optimization. Kluwer, Boston, 118 [9] Bandelloni, M., Tucci, M., Rinaldi, R. (1994), Optimal resource leveling using non-serial dynamic programming. European Journal of Operational Research 78, 162-177 [lo] Bang-Jensen, J., Gntin, G. (2000), Digraphs: Theory, Algorithms and Appkcations. Springer, Berlin [ll]Baptiste, P., Le Pape, C., Nuijten, W. (1999), Satisfiabiity tests and timebound adjustments for cumulative scheduling problems. Annals of Operations Research 92, 305-333
348
References
[12] Baroum, S.M., Patterson, J.H. (1996a), An exact solution procedure for maximizing the net present value of cash flows in a network. Proceedings of the Fifth International Workshop on Project Management and Project Scheduling, Poznan, 31-34 1131 Baroum, S.M., Patterson, J.H. (1996b), The development of cash flow weight procedures for maximizing the net present value of a project. Journal of Operations Management 14, 209-227 [14] Baroum, S.M., Patterson, J.H. (1999), An exact solution procedure for maximizing the net present value of cash flows in a network. In: W~glarz,J. (Ed.), Project Scheduling: Recent Models, Algorithms and Applications. Kluwer, Boston, 107-134 [15] Bartusch, M., Mohring, R.H., Radermacher, F.J. (1988), Scheduling project networks with resource constraints and time windows. Annals of Operations Research 16, 201-240 [16] Berge, C. (1976), Graphs and Hypergraphs. North Holland, Amsterdam [17] Blaiewicz, J., Ecker, K.H., Pesch, E., Schmidt, G., Wqglarz, J. (2001), Scheduling Computer and Manufacturing Processes. Springer, Berlin [18] Blomer, F. (1999), Produktionsplanung und -steuerung i n der chemischen Industrie: Ressourceneinsatzplanung won Batchproaessen auf Mehrzweckanlagen. Gabler, Wiesbaden [19] Blomer, F.,Giinther, H.-0. (1998), Scheduling of a multi-product batch process in the chemical industry. Computers in Industry 36, 245-259 [20] Blomer, F., Giinther, H.-0. (2000), LP-based heuristics for scheduling chemical batch processes. International Journal of Production Research 35, 1029-1052 [21] Bottcher, J., Drexl, A., Kolisch R., Salewski, F. (1999), Project scheduling under partially renewable resource constraints. Management Science 45, 543-559 [22] Brealey, R.A., Myers, S.C. (2000), Principles of Corporate Finance. McGraw-Hill, New York [23] Brinkmann, K., Neumann, K. (1996), Heuristic procedures for resourceconstrained project scheduling with minimal and maximal timelags: The resource-levelling and minimum project duration problems. Journal of Decision Systems 5, 129-155 [24] Brucker, P. (2001), Scheduling Algorithms. Springer, Berlin [25] Brucker, P., Hurink J. (2000), Solving a chemical batch scheduling problem by local search. Annals of Operations Research 96, 17-38
References
349
[26] Brucker, P., Knust S. (2000), A linear programming and constraint propagation-based lower bound for the RCPSP. European Journal of Operational Research 127, 355-362 [27] Brucker, P., Knust S. (2003), Lower bounds for resource-constrained project scheduling problems. To appear in European Journal of Operational Research 1281 Brucker, P., Thiele, 0. (1996), A branch & bound method for the generalshop problem with sequence dependent setuptimes. OR Spektmm 18, 145161 1291 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 [30] Brucker, P., Drexl, A., Mohring, R.H., Neumann, K., Pesch, E. (1999), Resource-constrained project scheduling: Notation, classification, models, and methods. European Journal of Operational Research 112, 3-41 [31] Burkard, R.E., Kocher, M., Rudolf, R. (1998), Rounding strategies for mixed integer programs arising from chemical production planning. Yugoslav Journal of Operations Research 8, 9-23 [32] Cesta, A., Oddi, A., Smith, S.F. (2002), A constrained-based method for project scheduling with time windows. Journal of Heuristics 8, 109-136 [33] Cheng, T.C.E., Gupta, J.N.D., Wang, G. (2000), A review of flow shop scheduling with setup times. Production and Operation Management 9,262282 [34] Cherkassky, B.V., Goldberg, A.V. (1997), On implementing the push-relabel method for the maximum flow problem. Algorithmica 19,390-410 [35] Christofides, N., Alvarez-Valdes, R., Tamarit, J.M. (1987), Project scheduling with resource constraints: A branch and bound approach. European Journal of Operational Research 29, 262-273 [36] Copeland, T.E., Weston, J.F. (1999), Financial Theory and Corporate Policy. Addison-Wesley, Amsterdam [37] de Boer, R. (1998), Resourceconstrained multi-project management: A hierarchical decision support system. Ph. D. Thesis, University of Twente [38] Demeulemeester, E.L. (1995), Minimizing resource availability costs in timelimited project networks. Management Science 41, 1590-1598 [39] Demeulemeester, E.L., Herroelen, W.S. (1992), A branch and bound procedure for the multiple resource+onstrained project scheduling problem. Management Science 38, 1803-1818
350
References
[40] Demeulemeester, E.L., Herroelen, W.S. (1997), New benchmark results for the resource-constrained project scheduling problem. Management Science 43,1485-1492 [41] Demeulemeester, E.L., Herroelen, W.S. (2002), Project Scheduling: A Research Handbook. Kluwer, Boston [42] Demeulemeester, E.L., Herroelen, W.S., Van Dommelen, P. (1996), An optimal recursive search procedure for the deterministic unconstrained max-npv project scheduling problem. Research Report 9603, Department of Applied Economics, Catholic University of Leuven [43] De Reyck, B. (1995), On the use of the restrictiveness as a measure of complexity for resourceconstrained project scheduling. Research Report 9535, Department of Applied Economics, Catholic University of Leuveu [44] De Reyck, B. (1998), Scheduling projects with generalized precedence relations: Exact and heuristic procedures. Ph. D. Thesis, Catholic University of Leuven [45] De Reyck, B., Herroelen, W.S. (1998a), A branch-and-bound procedure for the resource-constrained project scheduling problem with generalized precedence relations. European Journal of Operational Research 111, 152174 1461 De Reyck, B., Herroelen, W.S. (1998b), An optimal procedure for the resourceconstrained project scheduling problem with discounted cash flows and generalized precedence relations. Computers and Operations Research 25,1-17 [47] De Reyck, B., Herroelen, W.S. (1999), The multi-mode resource-constrained project scheduling problem with generalized precedence relations. European Journal of operational Research 119, 538-556 [48] De b y & B., Demeulemeester E.L., Herroelen W.S. (1999), Algorithms for scheduling projects with generalized precedence constraints. In: Wgglarz, J. (Ed.), Project Scheduling: Recent Models, Algorithms and Applications. Kluwe~,Boston, 77-105 [49] Dorigo, M., Maniezzo, V. (1993), Parallel genetic algorithms: Introduction and overview of current research. In: Stender, J. (Ed.), Parallel Genetic Algorithms: Theory and Applications. IOS Press, Amsterdam, 151-185 [50] Dorndorf, U. (2002), Project Scheduling with Time Windows. Physica, Heidelberg [51] Dorndorf, U.,Phan Huy, T., Pesch, E. (1999), A survey of interval capacity consistency tests for time- and resource-constrained scheduling. In: Wgglarz, J. (Ed.), Project Scheduling: Recent Models, Algorithms and Applications. Kluwer, Boston, 213-238
References
351
[52] Dorndorf, U., Pesch, E., Phan Huy, T. (2000a), A timeoriented branchand-bound algorithm for resource-constrained project scheduling with generalised precedence constraints. Management Science 46, 1365-1384 [53] Dorndorf, U., Pesch, E., Phan Huy, T. (2000b), A branch-and-bound alg* rithm for the resourceconstrained project scheduling problem. Mathematical Methods of Operations Research 52, 413440 [54] Drexl, A., Kimms, A. (2001), Optimization guided lower and upper bounds for the resource investment problem. Journal of the Operational Research Society 52, 340-351 (551 Easa, S.M. (1989), Resource leveling in construction by optimization. Journal of Construction Engineering and Management 115, 302-316 [56] Elmaghraby, S.E. (19771, Activity Networks: Project Planning and Control by Network Models. John Wiley, New York [57] Elmaghraby S.E. (1995), Activity nets: A guided tour through some recent developments. European Journal of Operational Research 82, 383-408 [58] Elmaghraby, S.E., Herroelen, W.S. (1980), On the measurement of complexity in activity networks. European Journal of Operational Research 5, 223-234 [59] Even, S. (1979), Graph Algorithms. Pitman, London [60] Fest, A., Mohring, R.H., Stork, F., Uetz, M. (1999), Resourceconstrained project scheduling with time windows: A branching scheme based on dynamic release dates. Technical Report 596, revised version, Technical University of Berlin 1611 Franck, B. (1999), Prioritatsregelverfahren fur die ressozlrcenbeschrankte Projektplanung mit und ohne Kalender. Shaker, Aachen [62] Ranck, B., Neumann, K. (1998), Resourceconstrained project scheduling with time windows: Structural questions and priority-rule methods. Report WIOR-492, Institute for Economic Theory and Operations Research, University of Karlsruhe [63] Franck, B., Selle, T. (1998), Metaheuristics for the resourceconstrained project scheduling with schedule-dependent t i e windows. Report WIOR546, Institute for Economic Theory and Operations Research, University of Karlsruhe [64] Franck, B., Neurnann, K., Schwindt, C. (1997), A capacity-oriented hierarchical approach to single-item and small-batch production planning using project-scheduling methods. OR Spektmm 19, 77-85
352
References
[65] Franck, B., Neumann, K., Schwindt, C. (2001a), Truncated branch-andbound, schedule-construction, and schedule-improvement procedures for resource-constrained project scheduling. OR Spektrum 23, 297-324 [66] Franck, B., Neumann, K., Schwindt, C. (2001b), Project scheduling with calendars. OR Spektrvm 23, 325-334 [67] Garey, M.R., Johnson, D.S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, New York [68] Gavish, B., Srikanth, K. (1986), An optimal solution method for large-scale multiple travelling salesmen problems. Operations Research 34, 698-717 [69] Glover, F., Laguna, F. (1997), Tabu Search. Kluwer, Boston [70] Goldfarb, D., Todd, M.J. (1989), Linear programming. In: Nemhauser, G.L., Rinnooy, A.H.G., Todd, M.J. (Eds.), Handbooks i n Operations Research and Management Science, Vol. I: Optimization. North-Holland, Amsterdam, 73-170 [71] Golumbic, M.C. (1980), Algorithmic Gmph Theory and Perfect Graphs. Academic Press, New York 1721 Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G. (1979), Optimization and approximation in deterministic sequencing and scheduling theory: A survey. AnnaLs of Discrete Mathematics 5, 287-326 [73] Grinold, R.C. (1972), The payment scheduling problem. Naval Research Logistics Quarterly 19, 123-136 [74] Grijtschel, M., Lovkz, L., Schrijver, A. (1995), Geometric Algorithms and Combinaton'al Optimization. Springer, Berlin [75] Grunow, M., Giinther, H.-O., Lehmann, M. (2002), Campaign planning for multi-stage batch processes in the chemical industry. O R Spectrum 24, 281-314 [76] Habib, M., Morvan, M., Rampon, J.X. (1993), On the calculation of transitive reduction-closure of orders. Discrete Mathematics 111, 289-303 [77] Harris, R.B. (1978), Precedence and ATTOWNetworking Techniques for Construction. John Wiley, New York [78] Harris, R.B. (1990), Packing method for resource leveling (Pack). Journal of Construction Engineering and Management 116, 39-43 [79] Hartmann, S. (1998), A competitive genetic algorithm for resource-constrained project scheduling. Naval Research Logistics 45, 733-750
References
353
[80] Hartmann, S. (1999), Project Scheduling under Limited Resources: Models, Methods, and Applications, Lecture Notes in Economics and Mathematical Systems, Vol. 478. Springer, Berlin [81] Hartmann, S. (20011, Project scheduling with multiple modes: A genetic algorithm. Annals of Operations Research 102, 111-136 [82] Hartmann, S. (20021, A self-adapting genetic algorithm for project scheduling under resource constraints. Naval Research Logistics 49, 433448 [83] Hartmann, S., Drexl, A. (1998), Project scheduling with multiple modes: A comparison of exact algorithms. Networks 32, 283-298 [84] Hartmann, S., Kolisch, R. (2000), Experimental evaluation of state-of-theart heuristics for the resource-constrained project scheduling problem. European Journal of Operational Research 127, 394-407 [85] Hartung, T. (2002), Ressourcenbeschrankte Projektplanung mit planungsabhangigen Zeitfenstern und reihenfolgeabhangigen Umriistungen. Shaker, Aachen [86] Hax, A.-C., Candea, D. (1984), Production and Inventory Management. Prentice Hall, Englewood Cliffs [87] Heilmann, R. (20001, Ressourcenbeschrankte Projektplanung i m MehrModus-Fall. Gabler, Wiesbaden [88] Heilmann, R. (2001), Resource-constrained project scheduling: A heuristic for the multi-mode case. O R Spektrum 23, 335-357 [89] Heilmann, R. (2003), A branch-and-bound procedure for the multi-mode resource-constrained project scheduling problem with minimum and maximum time lags. European Journal of Operational Research 144, 348-365 [go] Heilmann, R., Schwindt, C. (1997), Lower bounds for RCPSP/max. Report WIOR-511, Institute for Economic Theory and Operations Research, University of Karlsruhe [91] Held, M., Wolfe, P., Crowder, H.P. (1974), Validation of subgradient optimization. Mathematical Programming 6, 62-88 [92] Herroelen, W.S., Van Dommelen, P., Demeulemeester, E.L. (1997), Project network models with discounted cash flows: A guided tour through recent developments. European Journal of Operational Research 100, 97-121 [93] Herroelen W.S., De Reyck B., Demeulemeester E.L. (1998), Resourceconstrained project scheduling: A survey of recent developments. Computers and Operations Research 25, 279-302
354
References
[94] Herroelen W.S., Demeulemeester E.L., De Reyck B. (1999), A classification scheme for project scheduling. In: Wqglarz, J. (Ed.), Project Scheduling: Recent Models, Algorithms and Applications. Kluwer, Boston, 1-26 [95] Hiriart-Urruty, J.B., LemarBchal, C. (1993a), Convex Analysis and Minimization Algorithms I. Springer, Berlin [96] Hiriart-Urruty, J.B., LemarBchal, C. (1993b), Convex Analysis and Minimization Algorithms IT. Springer, Berlin [97] Horst, R., Tuy, H. (1996), Global Optimization: Deterministic Approaches. Springer, Berlin [98] Horst, R., Pardalos, P.M., Thoai, N.V. (2000), Introduction to Global Optimization. Kluwer, Boston [99] Icmeli, O., Erengiig, S.S. (1994), A tabu search procedure for the resource
constrained project scheduling problem with discounted cash flows. Computers and Operations Research 21, 841-853 [loo] Icmeli, O., Erengiig, S.S. (1996), A branch and bound procedure for the resource+onstrained project scheduling problem with discounted cash flows. Management Science 42, 1395-1408 [loll Igelmund, G . , Radermacher, F.J. (1983), Preselective strategies for the optimization of stochastic project networks under resource constraints. Networks 13, 1-28 [102] Ikhile, M.N.O. (2002), On the convergence of some interval methods for simultaneous computation of polynomial zeros. International Journal of Computer Mathematics 79, 1099-1112 [I031 Kamburowski, 3. (1990), Maximizing the project net present value in activity networks under generalized precedence relations. Proceedings of 2lst DSI Annual Meeting, San Diego, 748-750 [104] Klein, R. (2000), Scheduling of Resource-Constrained Projects. Kluwer, Boston [105] Klein, R., Scholl, A. (1999), Computing lower bounds by destructive improvement: An application to resource-constrained project scheduling. European Journal of Operational Research 112, 322-346 [106] Klein, R., Scholl A. (2000), Scattered branch and bound. Centml European Journal of Operations Research 7, 177-201 [I071 Kolisch, R. (1995), Project Scheduling under Resource Constraints. Physica, Heidelberg [lo81 Kolisch R. (2001), Make-to-Order Assembly Management. Springer, Berlin
References
355
[I091 Kolisch, R., Hartmann, S. (1999), Heuristic algorithms for the resource-constrained project scheduling problem: Classification and computational analysis. In: Wqglarz, J. (Ed.), Project Scheduling: Recent Models, Algorithms and Applications. Kluwer, Boston, 147-178 [I101 Kolisch, R., Padman, R. (2001), An integrated survey of deterministic project scheduling. Omega 29, 249-272 [ I l l ] Kolisch, R., Sprecher, A,, Drexl, A. (1995), Characterization and generation of resource-constrained project scheduling problems. Management Science 41, 1693-1703 [112] Kondili, E.,Pantelides, C.C., Sargent, R.W.H. (1993), A general algorithm for short-term scheduling of batch operations -I. MILP formulation. Computers and Chemical Engineering 17, 211-227 [I131 Laborie, P. (2003), Algorithms for propagating resource constraints in A1 planning and scheduling: Existing approaches and new results. Artificial Intelligence 143, 151-188 [I141 Lawler, E.L.(1976), Combinatorial Optimization: Networks and Matroids. Halt, Rinehart, and Winston, New York [I151 Mayer, H. (1998), Projektplanung bei beschrankten Ressourcen: E m i e n t e Losungsverfahren m r Kapitalwertmaximierung. Peter Lang, Frankfurt a.M. [116] MBndez, C.A., and CerdL, J. (2002), An efficient MILP continuous-time formulation for short-term scheduling of multiproduct continuous facilities. Computers and Chemical Engineering 26, 687-695 [I171 Merkle, D., Middendorf, M., Schmeck, H. (2002), Ant colony optimization for resource-constrained project scheduling. IEEE Z'kansactions on Ewolutionary Computation 6, 333-346 [I181 Miller, T.C. (2002), Hierarchical Operations and Supply Chain Planning. Springer, Berlin [I191 Mingozzi, A., Maniezzo, V., Ricciardelli, S., Bianco, L. (1998), An exact algorithm for the resource-constrained project scheduling problem based on a new mathematical formulation. Management Science 44, 714-729 [120] Moder, J.J., Phillips, C.R. (1970), Project Management with CPM and PERT. Van Nostrand Reinhold, New York [I211 Moder, J.J., Phillips, C.R., Davis, E.W. (1983), Project Management with CPM, PERT, and Precedence Diagramming. Van Nostrand Reinhold, New York [122] Mohring, R.H. (1984), Minimizing costs of resource requirements in.project networks subject to a fixed completion time. Operations Research 32,89-120
356
References
[I231 Mohring, R.H., Schulz, A.S., Stork, F., Uetz, M. (1999), Resource-constrained project scheduling: Computing lower bounds by solving minimum cut problems. In: NeBetiil, J. (Ed.), Proceedings of the 7th Annual European Symposium on Algorithms, Lecture Notes in Computer Science Vol. 1643. Springer, Berlin, 139-150 [I241 Mohring, R.H., Skutella, M., Stork, F. (2000), Scheduling with AND/OR precedence constraints. Technical Report 689, Fachbereich Mathematik, Technical University of Berlin [I251 Mohring, R.H., Schulz, AS., Stork, F., Uetz, M. (2001), On project scheduling with irregular starting time costs. Operations Research Letters 28, 148154 [126] Mohring, R.H., Schulz, AS., Stork, F., Uetz, M. (2003), Solving project scheduling problems by minimum cut computations. To appear in Management Science [127] Morton, T.E., Pentico, D.W. (1993), Heuristic Scheduling Systems. John Wiley, New York [I281 Nahmias, S. (1997), Production and Operations Analysis. Irwin, Homewood [I291 Nemhauser, G.L., Wolsey, L.A. (1989), Integer Programming. In: Nemhauser, G.L., Rinnooy, A.H.G., Todd, M.J. (Eds.), Handbooks in Operations Research and Management Science, Vol. 1: Optimization. North-Holland, Amsterdam, 447-527 [130] Nemhauser, G.L., Wolsey,L.A. (1999), Integer and Combinatorial Optimization. John Wiley, New York [I311 Nesterov, Y., Nemirovskii, A. (1994), Interior-Point Polynomial Algorithms in Convex Programming. SIAM, Philadelphia [I321 Neumann, K. (1975), Operations Research Verfahren, Band III. Carl Hanser, Miinchen [133] Neumann, K. (1987), Netzplantechnik. In: Gal, T. (Ed.), Grundlagen des Opemtions Research, Band 2. Springer, Berlin, 165-260 [I341 Neumann, K. (1996), Produktions- und Operations-Management. Springer, Berlin [135] Neumann, K., Morlock, M. (2002), Operations Research. Carl Hanser, Miinchen [I361 Neumann, K . , Schwindt, C. (1997), Activity-on-node networks with minimal and maximal timelags and their application to make-toorder production. OR Spektrum 19, 205-217
References
357
11371 Neumann, K., ~chwindt,C. (1998), A capacitated hierarchical approach t o mahe-toorder production. European Journal of Automation 32, 397-413 11381 Neumann, K., Schwindt, C. (2002), Project scheduling with inventory constraints. Mathematical Methods of Operations Research 56, 513-533 [139] Neumann, K., Zhan, J. (1995), Heuristic. for the minimum project-duration problem with minimal and maximal time-lags under fixed resource constraints. Journal of Intelligent Manufacturing 6, 145-154 [I401 Neumann, K., Zimmermann, J . (1999a), Methods for resource-constrained project scheduling with regular and nonregular objective functions and schedule-dependent time windows. In: Wcglarz, J. (Ed.), Project Scheduling: Recent Models, Algon'thms and Applications. Kluwer, Boston, 261-287 [I411 Neumann, K., Zimmermann, J. (1999b), Resource levelling for projects with schedule-dependent time windows. European Journal of Operational Research 117, 591-605 [I421 Neumann, K., Zimmermann, J. (2000), Procedures for resource levelling and net present value problems in project scheduling with general temporal and resource constraints. European Journal of Operational Reseamh 127, 425-443 11431 Neumann, K., Zimmermann, J. (2002), Exact and truncated branch-andbound procedures for resource-constrained project scheduling with discounted cash flows and general temporal constraints. Central European Journal of Operations Research 10, 357-380 [144] Neumann, K., Niibel, H., Schwindt, C. (2000), Active and stable project scheduling. Mathematical Methods of Operations Research 52, 441-465 [I451 Neumann, K., Schwindt, C., Trautmann, N. (2001), Short-term planning of batch plants in process industries. In: Kischka, P., Leopold-Wildburger, U., Mohring, R.H., Radermacher, F.J. (Eds.), Models, Methods and Decision Support for Management. Physica, Heidelberg, 211-226 [146] Neumann, K., Schwindt, C., Trautmann, N. (2002a), Advanced production scheduling for batch plants in process industries. OR Spectmrn 24, 251-279 [I471 Neumann, K., Schwindt, C., Trautmann, N. (2002b), Scheduling of continuous and discontinuous material flows with intermediate storage restrictions. Report WIOR-626, Institute for Economic Theory and Operations Research, University of Karlsruhe, submitted to European Journal of Operational Research [I481 Neumann, K., Schwindt, C., Zimmermann, J. (2002c), Recent results on resource-constrained project scheduling with time windows: Models, solution methods, and applications. Central European Journal of Operations Research 10, 113-148
358
References
[149] Neumann, K., Schwindt, C., Zimmermann, J. (2003), Order-based neighborhoods for project scheduling with nonregular objective functions. To appear in European Journal of Operational Research [I501 Niibel, H. (1999a), Minimierung der Ressourcenkostenfir Projekte mit planungsabhangigen Zeitfenstern. Gabler, Wiesbaden [151] Niibel, H. (1999b), A branch-and-bound procedure for the resource investment problem subject to temporal constraints. Report WIOR-574, Institute for Economic Theory and Operations Research, University of Karlsruhe [152] Niibel, H. (2001), The resource renting problem subject to temporal constraints. OR Spektrvm 23; 359-381 [153] Niibel, H., Zimmermann, J. (1998), An experimental performance analysis of two branch-and-bound procedures for the resource investment problem with generalized precedence constraints. Report WIOR-527, Institute for Economic Theory and Operations Research, University of Karlsruhe [I541 0zdamar L . , Ulusoy G. (1995), A survey on the resource-constrained project scheduling problem. IIE Transactions 27, 574-586 [I551 Padman, R., Smith-Daniels, D.E. (1993), Early-tardy cost trade-offs in resource constrained projects with cash flows: An optimization-guided heuristic approach. European Journal of Operational Research 64, 295-311 [I561 Padman, R., Smith-Daniels, D.E., Smith-Daniels, V.L. (1997), Heuristic scheduling of resource-constrained projects with cash flows: An optimization approach. Naval Research Logistics Quarterly 44, 365-381 [157] Pinder, J.P., Marucheck, A.S. (1996), Using discounted cash flow heuristics to improve project net present value. Journal of Operations Management 14, 229-240 [158] Pinedo, M. (2001), Scheduling Theory, Algorithms, and Systems. Prentice Hall, Englewood Cliffs [I591 Pinto, M., Grossmann, I.E. (1995), A continuous time mixed integer linear programming model for short term scheduling of multistage batch plants. Industrial and Engineering Chemistry Research 34, 3037-3051 11601 Potts, C., Kovalyov, M. (2000), Scheduling with batching: A review. European Journal of Operational Research 120, 228-249 [I611 Pritsker, A.A.B., Watters, L.J., Wolfe, P.M. (1969). Multi-project scheduling with limited resources: A zero-one programming approach. Management Science 16, 93-108 [I621 Reinelt, G. (1994),The Zhvelling Salesman: Computational Solutions for TSP Applications, Lecture Notes in Computer Science, Vol. 840. Springer, Berlin
360
References
[I771 Schwindt, C., Trautmann, N. (2003), Scheduling the production of rolling ingots: Industrial context, model, and solution method. To appear in International Transactions i n Operational Research [I781 Schwindt, C., Zimmermann, J. (1998), Maximizing the net present value of projects subject to temporal constraints. Report WIOR-536, Institute for Economic Thwry and Operations Research, University of Karlsruhe [I791 Schwindt, C., Zimmermann, J. (2001), A steepest ascent approach to maximizing the net present value of projects. Mathematical Methods of Operations Research 53, 4 3 5 4 5 0 [I801 Schwindt, C., Zimmermann, J. (2002), Parametrische Optimierung als Instrument zur Bewertung von Investitionsprojekten. Zeitschrift fur Betriebswirtschaft 72, 593-617 [I811 Selle, T. (2002), Untere Schranken fur Pmjektplanungsprobleme. Shaker, Aachen [I821 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 [183] Shor, N.Z. (1998), Nondiferentiable Optimization and Polynomial Problems. Kluwer, Boston [184] Sinn, H.-W. (1989), Economic Decisions Under Uncertainty. Physica, Heidelberg [185] Sommerschuh, J. (1990), On the surrogate constraint and the core of a linear mixed-integer 0-1 program with few constraints. Optimization 21, 87-100 [186] Sohner, V. (1995), Hiemrchisch integrierte Produktionsplanung und -steuerung. Physica, Heidelberg [187] Speranza, M.G., Vercellis, C. (1993), Hierarchical models for multi-project planning and scheduling. European Journal of Operational Research 64,312325 [188] Sprecher, A. (2000), Scheduling projects at modest memory requirements. Management Science 46, 710-723 [I891 Sprecher, A. (2002), Network decomposition techniques for resourceconstrained project scheduling. Journal of the Operational Research Society 53, 405-414 [I901 Sprecher, A., Drexl, A. (1998), Multi-mode resource-constrained project scheduling by a simple, general and powerful sequencing algorithm. European Journal of Operational Research 107, 431-450
References
361
[I911 Sprecher, A., Kolisch, R., Drexl, A. (1995), Semi-active, active, and nondelay schedules for the resource-constrained project scheduling problem. European Journal of Operational Research 80, 94-102 [I921 Stork, F. (2001), Stochastic resource-constrained project scheduling. Ph. D. Thesis, Technical University of Berlin [193] Stork, F., Uetz, M. (2001), On the representation of resource constraints in project scheduling. Technical Report 693, Fachbereich Mathematik, Technical University of Berlin [194] Takamoto, M., Yamada, N., Kobayashi, Y., Nonaka, H. (1995), Zero-one quadratic programming algorithm for resource leveling of manufacturing process schedules. Systems and Computers i n Japan 26, 68-76 [I951 Thesen, A. (1977), Measures of the restrictiveness of project networks. Networks 7, 193-208 11961 Timpe, C. (2002). Solving planning and scheduling problems with combined integer and constraint programming. OR Spectrum 24, 431-448 [I971 Tormos, P., Lova, A. (2001), A competitive heuristic solution technique for resource-constrained project scheduling. Annals of Operatiom Research 102, 65-81 [I981 Trautmann, N. (2001a), Anlagenbelegungsplanung i n der Prozessindustrie. Gabler, Wiesbaden [I991 Tkautmann, N. (2001b), Calendars in project scheduling. In: Fleischmann, B., Lasch, R., Derigs, U., Domschke, W., Rieder, U. (Eds.), Operations Resea~chProceedings 2000. Springer, Berlin, 388-392 [200] Uetz, M. (2002), Algorithms for Deterministic and Stochastic Scheduling. Cuvillier, Gottingen [201] Uzsoy, R. (1995), Scheduling batch processing machines with incompatible job families. International Journal of Production Research 33, 2685-2708 [202] Vanderbei, R.J. (1997), Linear Programming. Kluwer, Boston [203] Vauhoucke, M., Demeulemeester, E.L., Herroelen, W.S. (2001a), An exact procedure for the resourceconstrained weighted earliness-tardiness project scheduling problem. Annals of Operations Research 102, 179-196 [204] Vanhoucke, M., Demeulemeester, E.L., Herroelen, W.S. (2001b), On maximizing the net present value of a project under renewable resource constraints. Management Science 47, 1113-1121 12051 Weglarz, J., Ed. (1999), Project Scheduling: Recent Models, Algorithms and Applications. Kluwer, Boston
362
References
[206] Westenberger, H., Kallrath, J. (1995), Formulation of a job shop problem in process industry. Unpublished working paper, Bayer AG, Leverkusen and BASF AG, Ludwigshafen [207] Yang, K.K., Talhot, F.B., Patterson, J.H. (1992), Scheduling a project to maximize its net present value: An integer programming approach. European Journal of Operational Research 64, 188-198 [208] Yang, K.K., Tay, L.C., Sum, C.C. (1995), A comparison of stochastic scheduling rules for maximizing project net present value. European Journal of Operational Research 85,327-339 [209] Younis, M.A., Saad, B. (1996), Optimal resource leveling of multi-resource projects. Computers and Industrial Engineering 31, 1-4 [210] Zhan, J . (1992), Calendarization of time-planning in MPM networks. ZOR - Methods and Models of Operations Research 36, 423-438 [211] Zhan, J. (1994), Heuristics for scheduling resource-constrained projects in MPM networks. European Journal of Operational Research 76, 192-205 [212] Zheng S., Sun F. (1999), Some simultaneous iterations for finding all zeros of a polynomial with high order convergence. Applied Mathematics and Computation 99, 233-240 [213] Zhu, D., Padman, R. (1999), A metaheuristic scheduling procedure for resource-constrained projects with cash flows. Naval Research Logistics 46, 912-927 [214] Zimmermann, J . (2000), Project scheduling with discounted cash flows and general temporal constraints, In: Inderfurth, K., Schwodiauer, G., Domschke, W., Juhnke, F., Kleinschmidt, P., WGcher, G. (Eds.), Operations Research Proceedings 1999. Springer, Berlin, 419424 [215] Zimmermann, J. (2001), Ablauforientiertes Projektmanagement: Modelle, Verfahren und Anwendungen. Gabler, Wiesbaden [216] Zimmermann, J., Engelhardt, H. (1998), Lower bounds and exact methods for resource levelling problems. Report WIOR-517, Institute for Economic Theory and Operations Research, University of Karlsruhe
List of Symbols
Miscellaneous
..-
~21 (t)'
Equal by definition End of proof, of example, or of algorithm Smallest integer greater than or equal t o .z Maximum of 0 and r
Sets
0 la, b[ 1% b[ la, bl [a,bl 2A IAl ACB Ac B A\B AnB AUB f :A+ B
Empty set Open interval {x E 11 a < x < b) Half open interval {x E IR I a 5 x < b) Half open interval {x E 1I a < x 5 b ) Closed interval {x E R I a ( x 5 b) Power set of set A Number of elements of finite set A A is proper subset of B A is subset of B Difference of sets A and B Intersection of sets A and B Union of sets A and B Mapping (function) of A into B E-neighborhood of S E RT:~ Set of positive integers Landau's symbol: For f , g : M + lK20 it holds that g E O ( f ) if there are a constant c > 0 and a positive integer no such that g(n) 5 c f (n) for all n 2 no Set of real numbers Set of m-tuples of real numbers Set of nonnegative real numbers Set of integers Set of nonnegative integers
Projects a n d project activities Discount rate per unit time P Activity calendar for activity i bi
364
List of Symbols
Time lag calendar for arc (i,j) Cash flow associated with the completion of activity i Maximum time lag between the start of activities i and j Minimum time lag between the start of activities i and j Prescribed maximum project duration Due date for completion of activity i Deadline for completion of activity i Earliness of activity i Family of activity i Flow time of activity i Lateness of activity i Execution mode for activity i Set of alternative execution modes for activity i Number of real activities Duration (processing time) of activity i Duration (processing time) of activity i in execution mode mi Release date of activity i Tardiness of activity i Set of activities Arbitrary real-valued weight of activity i Earliness cost of activity i Weighting factor of activity i Tardiness cost of activity i Weighting factor of start time deviation ISi - S j ( Networks C
4i
E E+ (i,j)
N N+ Pred (i)
Cycle structure of project network Longest path length from node i t o node j in temporal scheduling network N+ Weight of arc (i,j) Weight of arc (i, j) if activities i and j are executed in modes mi and mj,respectively Arc set of directed graph or project network N Arc set of temporal scheduling network N+ Arc with initial node i and terminal node j Project network Temporal scheduling network Set of immediate predecessors of activity i in temporal scheduling network N+ Set of activities reachable from activity i in temporal scheduling network N+
List of Symbols
Set of activities from which activity i is reachable in temporal scheduling network N + Set of immediate successors of activity i in temporal scheduling network N+ Node set of directed graph, project network N, or temporal scheduling network N+ Directed graph with node set V and arc set E Weighted directed graph with node set V, arc set E , and vector 6 of arc weights
Reach(i) Succ(i)
V (V,E ) (V,E; 6) Schedules AS -
Set of active schedules Set of antiactive schedules Earliest schedule Latest schedule Set of optimal schedules Set of pseudoactive schedules Set of pseudostable schedules Set of quasiactive schedules Set of quasistable schedules Schedule Partial schedule of activities i E C Set of feasible schedules Set of resourcefeasible schedules Set of time-feasible schedules Set of semiactive schedules Set of stable schedules Set of semistable schedules
AS ES
LS
us
PAS PSS PAS PSS S SC
S SR
ST SAS SS
sss
Temporal scheduling
c,
CT
DT
:= ST
A Ai EC, EFFi E Si LC, LFF
LSi Si ST
365
U CT
Completion time of activity i Set of completion times of activities Set of start and completion times of activities Set of integral time points between 0 and d Set of integral time points between ES, and LS; Earliest completion time of activity i Early free float of activity i Earliest start time of activity i Latest completion time of activity i Late free float of activity i Latest start time of activity i Start time of activity i Set of start times of activities
366
List of Symbols
TF, 7; -
Ti
Resources ck c:Ck
c:
cE rik
rikm,
Rk & R,RP RY R"
R" .91"3
YJk(S,t)
Total float of activity i Time window for activity i Domain of feasible start times for activity i
Cost for resource k Cost for increasing the resource availability of resource k Cost for decreasing the resource availability of resource k Fixed renting cost for resource k Variable renting cost for resource k Amount of resource k used by activity i Amount of resource k used by activity i in execution mode mi Amount of resource k used at time t 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 renewable resources Set of cumulative resources Set of nonrenewable resources Set of synchronizing resources Sequence-dependent changeover time on resource k from activity d to activity j Amount of resource k rented at time t given schedule S
Solution procedures Active set a t time t given schedule S d ( S ,t) B (Minimal) delaying alternative B Set of all minimal delaying alternatives CCompleted set of activities (set of activities scheduled) CSet of activities not yet scheduled 9:. Set of decision points of activity j* given partial schedule SCfor class v of objective functions 9:. Set of decision points of activity j*given partial schedule SC for class v of objective functions if there are no resource constraints E Set of eligible activities fa Additional-cost Eunction LBO Lower bound on minimum objective function value associated with resource relaxation or partial schedule LB W Workload-based lower bound on minimum objective function value
List of SymboJs
42) UGC
UB
367
Priority of activity i Set of activities to be unscheduled Upper bound on minimum objective function value
Relations a n d strict orders Covering relation of strict order 0 4 0 ) Weight of arc (i, j ) in order network N ( 0 ) :6 G< Precedence graph of strict order 4 Lower bound of ordered set ( M ,5 ) with M & i F P 2 ZbM Wf2 min M Minimal point of ordered set (M, 5 ) with M Order network belonging to strict order 0 N(O) Strict orders in set V +,o U Set of inclusion-minimal feasible strict orders in set V Pred< (2) Set of immediate predecessors of activity i in precedence graph G< Szlcc<(2) Set of immediate successors of activity i in precedence graph G < Order polyhedron of strict order 0 ST(O) Schedule polyhedron for schedule S ST(O(S)) Equal-order set for schedule S (set of schedules which s?(o(s)) induce the same order as schedule S) Transitive hull of relation p tr(~)
Three-Field Classification for Resource-Constrained Project Scheduling In this monograph, a three-field classification cu I P 1 7 for resource-constrained project scheduling problems is used, which represents a simplified version of the classification scheme introduced by Brucker et al. (1999) and follows the well-known a I ) y classification of machine scheduling.
Field a : Resource environment Resource-constrained project scheduling problem (limited renewable resources) Project scheduling problem without resonrce constraints (time-constrained project scheduling problem, in other words, unlimited renewable resource capacities) Project scheduling problem with limited cumulative resources Multi-mode resource-constrained project scheduling problem (limited renewable and nonrenewable resources)
PS PSm
PSc
MPS
Field
P : Activity characteristics
The second field ,B C {PI,PzrP3,P4,P5,Ps) specifies a number of activity characteristics. Let o denote the empty symbol. 1.
PI = temp = prec
General temporal constraints between activities, i.e. minimum and maximum time lags between start times of activities Precedence constraints between activities, i.e. minimum time lags between start times of activities i and j equal t o the duration of activity i
370
2.
Three-Field Classification
pz=a 82= 0
3.
P3 = cal
a=. 4.
P4 = cont P4 = 0
5.
P5 = pbatch
a
Prescribed deadline for project duration No prescribed maximum project duration Activity and time lag calendars No calendars Continuous demands for cumulative resources No continuous demands for cumulative resources Synchronization (parallel batching) of activity families on synchronizing resources No synchronization Sequence-dependent changeover times between activities i and j No sequence-dependent changeover times
Field y : Objective function t o b e minimized The page number where the respective objective function is introduced is always indicated. General (regular or nonregular) objective function General regular objective function Project duration or makespan (p. 22) Maximum lateness (p. 199) Sum of weighted flow times (p. 199) Sum of weighted tardinesses (p. 199) Sum of weighted earlinesses (p. 199) Sum of weighted earlinesses plus tardinesses ( P 199) Negative sum of weighted deviations of start times (p. 200) Sum of arbitrarily weighted start times (p. 200) Sum of changeover times (p. 202) Negative net present value of project (p. 203) Total procurement cost (p. 204) Total squared utilization cost (p. 204)
Three-Field CIasification
C Ck C Okt C C c:Atrkt + ciA-rkt C C c b t + c:a+ybt
Total overload cost (p. 204) Total adjustment cost (p. 205) Total renting cost (p. 206)
Examples PSItemplreg
PScltemp, contlC,,
PSI temp, cal,p-batch(L,,
PSItemp, Zl- C cr,Bc;
PSltemp, s,
I C C t9ij@,j
Resourceconstrained project scheduling problem with general temporal constraints where a general regular objective function is to be rninimized Resourceconstrained project scheduling problem with general temporal constraints and continuous cumulative resources where the project duration is to be minimized Resource-constrained project scheduling problem with general temporal constraints, calendars, and synchronizing resources where the maximum lateness is to be minimized Multi-mode project scheduling problem with limited renewable and nonrenewable resources and general temporal constraints where the project duration is to be minimized Project scheduling problem without resource constraints and with precedence constraints and prescribed maximum project duration a where a general (regular or nonregular) objective function is to be minimized Resource-constrained project scheduling problem with general temporal constraints and prescribed maximum project duration a where the net present value of the project is to be maximized Resource-constrained project scheduling problem with general temporal constraints and sequence-dependent changeover times between activities where the total changeover time is to be minimized