# The Resource-Constrained Project Scheduling Problem iste.co.uk/data/doc_ Resource-Constrained Project Scheduling Problem ... A resource-constrained project scheduling problem is a ... The preemptive case is presented in Chapter 8.

Post on 08-Feb-2018

218 views

Category:

## Documents

4 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>Chapter 1</p><p>The Resource-Constrained ProjectScheduling Problem</p><p>1.1. A combinatorial optimization problem</p><p>Informally, a resource-constrained project scheduling problem (RCPSP) consid-ers resources of limited availability and activities of known durations and resourcerequests, linked by precedence relations. The problem consists of finding a scheduleof minimal duration by assigning a start time to each activity such that the precedencerelations and the resource availabilities are respected.</p><p>More formally, the RCPSP can be defined as a combinatorial optimization prob-lem. A combinatorial optimization problem is defined by a solution space X , which isdiscrete or which can be reduced to a discrete set, and by a subset of feasible solutionsY X associated with an objective function f : Y R. A combinatorial optimiza-tion problem aims at finding a feasible solution y Y such that f(y) is minimizedor maximized. A resource-constrained project scheduling problem is a combinatorialoptimization problem defined by a tuple (V, p,E,R, B, b).</p><p>Activities constituting the project are identified by a set V = {A0, . . . , An+1}.Activity A0 represents by convention the start of the schedule and activity An+1 sym-metrically represents the end of the schedule. The set of non-dummy activities is iden-tified by A = {A1, . . . , An}.</p><p>Durations are represented by a vector p in Nn+2 where pi is the duration of activityAi, with special values p0 = pn+1 = 0.</p><p>Chapter written by Christian ARTIGUES.</p><p>21</p></li><li><p>22 Resource-Constrained Project Scheduling</p><p>Precedence relations are given by E, a set of pairs such that (Ai, Aj) E meansthat activity Ai precedes activity Aj . A precedence activity-on-node graph G(V,E)is defined where nodes correspond to activities and arcs correspond to precedencerelations1. We assume that G contains no cycle, otherwise the precedence relations areobviously inconsistent. Since precedence is a transitive binary relation, the existenceof a path in G from node Ai to node Aj also means that activity Ai precedes activityAj . Thus, all precedence graphs having the same transitive closure define the sameprecedence constraints. We assume that, taking account of the preceding remark, Eis such that A0 is a predecessor of all other activities and An+1 is a successor of allother activities.</p><p>Renewable resources are formalized by setR = {R1, . . . , Rq}.</p><p>Availabilities of resources are represented by a vector B in Nq such that Bk denotesthe availability of Rk. In particular, a resource Rk such that Rk = 1 is called a unaryor disjunctive resource. Otherwise, as a resource may process several activities at atime, it is called a cumulative resource.</p><p>Demands of activities for resources are abstracted by b, a (n+2)q integer matrix,such that bik represents the amount of resource Rk used per time period during theexecution of Ai.</p><p>A schedule is a point S in Rn+2 such that Si represents the start time of activityAi. Ci denotes the completion time of activity Ai, with Ci = Si+pi. S0 is a referencepoint for the start of the project. Here we assume that S0 = 0. A solution S is feasibleif it is compatible with the precedence constraints (1.1) and the resource constraints(1.2) expressed below, where At = {Ai A | Si t &lt; Si + pi} represents the setof non-dummy activities in process at time t.</p><p>Sj Si pi (Ai, Aj) E (1.1)AiAt</p><p>bik Bk Rk R, t 0 (1.2)</p><p>The makespan of a schedule S is equal to Sn+1, the start time of the end activity.The above-defined set At and constraints state that an activity cannot be interruptedonce it is started. This is referred to as not allowing preemption2. The RCPSP can thenbe stated as follows:</p><p>1. We will identify in the rest of the chapter each activity with the corresponding node of theprecedence graph.2. The preemptive case is presented in Chapter 8.</p></li><li><p>The Resource-Constrained Project Scheduling Problem 23</p><p>DEFINITION 1.1. The RCPSP is the problem of finding a non-preemptive scheduleS of minimal makespan Sn+1 subject to precedence constraints (1.1) and resourceconstraints (1.2).</p><p>An important preliminary remark is that, since durations are integers, we canrestrict ourselves to integer schedules without missing the optimal solution. A non-integer feasible schedule can be transformed into an integer feasible schedule withoutincreasing the makespan by recursively applying the following principle. Consider anon-integer schedule S and let Ai denote the first activity in the increasing start timeorder such that Si N. Then setting Si to its nearest lower integer Si does not vio-late any precedence constraints, since the completion time of the predecessors of Aiare integers strictly lower than Si. Left shifting an activity can violate a resource con-straint only if it enters new sets At for Si t &lt; Si. Since we have At ASi \ {i}for Si t &lt; Si, no resource-constraint violation can appear by setting Si to Si.The set of integer schedules, containing at least one optimal solution, is said to bedominant.</p><p>1.2. A simple resource-constrained project example</p><p>In Table 1.1, a RCPSP instance is given with n = 10 real activities and |R| = 2resources with availabilities B1 = 7 and B2 = 4.</p><p>Ai A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11pi 0 6 1 1 2 3 5 6 3 2 4 0</p><p>bi1 0 2 1 3 2 1 2 3 1 1 1 0</p><p>bi2 0 1 0 1 0 1 1 0 2 2 1 0</p><p>Table 1.1. A project with 10 real activities and 2 resources</p><p>The precedence constraints linking the activities Ai V are displayed in Fig-ure 1.1 as an activity-on-node graph. A schedule of minimal makespan Sn+1 = 12 isdisplayed in Figure 1.2 as a 2-dimensional Gantt chart where the x axis represents thetime and the y axis represents the resource occupation.</p><p>1.3. Computational complexity</p><p>According to the computational complexity theory [GAR 79], the RCPSP is one ofthe most intractable combinatorial optimization problems. Indeed, the RCPSP belongsto the class of problems that are NP-hard in the strong sense. The complexity theorystates that an optimization problem is NP-hard (in the strong sense) if its decisionversion is NP-complete (in the strong sense). Let us define the decision variant of theRCPSP. Let H denote an arbitrarily large integer.</p></li><li><p>24 Resource-Constrained Project Scheduling</p><p>A9</p><p>A1</p><p>A2</p><p>A0</p><p>A3</p><p>A4</p><p>A7</p><p>A8</p><p>A10</p><p>A11</p><p>A5</p><p>A6</p><p>Figure 1.1. Precedence activity-on-node graph</p><p>R1</p><p>R2</p><p>21 3 4 5 6 7 8 9 10 11 120</p><p>A3</p><p>A2</p><p>A4</p><p>A5 A9</p><p>A7A6</p><p>A8</p><p>A10</p><p>A6</p><p>A8</p><p>A10A1</p><p>A9A5</p><p>A3</p><p>A1</p><p>Figure 1.2. Schedule of minimal makespan</p></li><li><p>The Resource-Constrained Project Scheduling Problem 25</p><p>DEFINITION 1.2. The decision variant of the RCPSP is the problem of determiningwhether a schedule S of makespan Sn+1 not greater than H subject to precedenceconstraints (1.1) and resource constraints (1.2) exists or not.</p><p>Roughly, a decision problem is in NP if we can verify in polynomial time if a ten-tative solution is feasible. Let S denote a schedule. Precedence feasibility can be triv-ially checked in O(|E|) and the makespan constraint in O(1). Verifying the resource-feasibility in polynomial time is not a trivial task. Algorithm 1 verifies the feasibilityaccording to resource-constraints in O(n2|R|). The algorithm is based on the obser-vation that each change over time of the activity total resource requirements occursonly at time S0 = 0 or at the completion time of an activity. List L being a sorted listof the different activity completion times, the algorithm computes each set F of activ-ities in process at each time t L, and tests whether the total resource requirementsof each set F exceeds the resource availabilities. Note that directly verifying that theresource availability is respected by computing set At for each time period t [0,H[yields a pseudo-polynomial algorithm, which depends on value H .</p><p>Algorithm 1 Resource feasibility checking of a tentative schedule S1: L = {Cj |Aj V }2: sort L in increasing values3: for t L do4: for Rk R do5: o 0, F 6: for Aj A do7: if Sj &lt; t, Cj t and bjk &gt; 0 then8: o o + bjk, F F Aj9: end if</p><p>10: if o &gt; Bk then11: S is not resource-feasible because activities of F are executed in paral-</p><p>lel12: return false13: end if14: end for15: end for16: end for17: return true</p><p>Garey and Johnson [GAR 75] have shown that the decision variant of the RCPSPwith a single resource and no precedence constraints, called the resource-constrainedscheduling problem, is NP-complete in the strong sense by reduction from the3-partition problem. NP-hardness can be shown by a simpler observation made byBlazewicz et al. [BLA 83] yielding even worse negative results. Let us consider the</p></li><li><p>26 Resource-Constrained Project Scheduling</p><p>famous graph coloring problem. Let G(V, E) be an undirected graph and let c bean arbitrary integer. Deciding if there is a feasible coloring of the nodes in G with ccolors such that two adjacent nodes do not share the same color is NP-complete in thestrong sense and appears to be a particular case of the decision variant of a RCPSPwith unit durations, no precedence constraints, a disjunctive resource per arc in Eand an activity per node in V with a unit requirement on each resource of its incidentarcs. The coloring problem is feasible if and only if the RCPSP has a makespan notgreater than c. Figure 1.3 illustrates the 3 colored solution as a RCPSP of makespan3. Switching to optimization, the minimal number of colors needed, corresponding tothe minimal makespan, is called the chromatic number of the graph.</p><p>12</p><p>3</p><p>4</p><p>a</p><p>bc</p><p>d</p><p>e</p><p>A1 A2</p><p>A1 A3</p><p>A3 A2</p><p>A3A4</p><p>A4 A2</p><p>Ra</p><p>Rb</p><p>Rd</p><p>Rc</p><p>Re</p><p>Figure 1.3. A schedule of minimal makespan equal to the chromaticnumber of the displayed graph G(V, E)</p><p>When dealing with problems that are NP-hard in the strong sense, an importantquestion is the existence of a polynomial-time approximation scheme. Uetz [UET 01]noticed that by a direct extension of non-approximability results obtained by Feigeand Kilian [FEI 98] on graph coloring, it is very unlikely3 that the minimal makespancan be approximated in polynomial time with a factor of n1 for any constant &gt; 0.</p><p>1.4. Dominant and non-dominant schedule subsets</p><p>Let us consider the possibly empty set SH of feasible schedules of a decision vari-ant of the RCPSP. If we ignore the precedence constraints and considering that integersolutions are dominant, the possible values for each start time Si can be restricted tointerval [0,H pi[ yielding possibly AiA[0,H pi[ schedules.</p><p>Fortunately, in spite of the computational complexity of the problem stated in theprevious section, it is possible to avoid the complete enumeration of this possibly</p><p>3. We refer to [UET 01, FEI 98] for the precise conditions.</p></li><li><p>The Resource-Constrained Project Scheduling Problem 27</p><p>huge search space to find a feasible solution. It is possible to define subsets of sched-ules significantly smaller than SH that always contain a feasible solution if it exists,i.e. dominant subsets. These sets of schedules are the sets of semi-active and activeschedules, based on the concepts of local and global left shifts, respectively. Let usconsider a schedule S and an activity Ai. The global left shift operator LS(S,Ai,)transforms schedule S into an identical schedule S, except for Si = Si with &gt; 0. A left shift is local when, in addition, all schedules obtained by LS(S,Ai, )with 0 &lt; are also feasible. We define the set of semi-active and active sched-ules as follows.</p><p>DEFINITION 1.3. A schedule is semi-active if it admits no feasible activity local leftshift.</p><p>From this definition, an integer schedule is semi-active if and only if for eachactivity Ai A, there is no feasible activity left shift of 1 time unit.</p><p>DEFINITION 1.4. A schedule is active if it admits no feasible activity global left shift.</p><p>From this definition, an integer schedule is active if and only if for each activityAi A, there is no feasible left shift of N time units. Note that the scheduledisplayed in Figure 1.2 is both semi-active and active.</p><p>Any solution of SH can obviously be transformed into a semi-active schedule byapplying a series of local left shifts. Any semi-active schedule can in turn be trans-formed into an active schedule by performing a series of global left shifts. It fol-lows that the semi-active schedule set SsaH and the active schedule set SaH are dom-inant subsets of SH . More precisely we have SaH SsaH SH . These sets arealso dominant for the search of a solution of S minimizing a regular objective func-tion f : Rn+2 R. A function f is regular if for all S, S Rn+2 such thatS S (where is meant componentwise), we have f(S) f(S). In particu-lar, the makespan criterion considered in the standard RCPSP corresponds to a regularobjective function.</p><p>For practical reasons it can be relevant to consider non-dominant subsets of sched-ules, i.e. that may exclude the optimal solution. The non-delay scheduling concept islinked to the requirement that no resource is left idle while it could process an activ-ity. Although it may appear intuitively as efficient, this scheduling policy may leadonly to sub-optimal solutions. The set of non-delay schedules can be defined by con-sidering partial left shifts. A partial left shift consists of allowing preemption for theleft-shifted activity. An activity is preemptive if it can be interrupted at any (not neces-sarily integer) time-point (see Chapter 8). Thus, a partial left shift PLS(S,Ai,,)of an originally non-interrupted activity consists of a left shift of &gt; 0 time units ofthe first &gt; 0 units of the activity.</p></li><li><p>28 Resource-Constrained Project Scheduling</p><p>DEFINITION 1.5. A schedule is non-delay if it admits no feasible activity partial leftshift.</p><p>For an integer schedule S, whenever a resource is left idle while it could startprocessing an activity, it is possible to globally left shift the first unit of this activityinto the idle period. From the above definition, the set SndH of semi-active schedulesof makespan not greater than H verifies SndH SaH . The schedule displayed in Figure1.2 is also a non-delay schedule .</p><p>Introduced for the job-shop problem by Baker [BAK 74], similar definitionsof semi-active, active and non-delay schedule sets for the RCPSP can be found in[SPR 95, NEU 00a].</p><p>1.5. Order-based representation of schedules and related dominant schedule sets</p><p>From the dominance property of the semi-active schedule set, we may derive arelevant representation of schedules. Let S be a feasible schedule. For any activityAj , if Sj &gt; 0 and if there is no other activity Ai such that Si + pi = Sj , then activityAj can be left shifted and the schedule is not semi-active. Hence, in any semi-activeschedule S and for any activity Aj such that Sj &gt; 0, there is an activity Ai such thatSj = Si+pi. It follows that it is intuitively relevant to represent a left-shifted scheduleby additional precedence constraints. Bartusch et al. [BAR 88] propose to considerthe decomposition of set S of feasible solutions into finitely many subsets, each oneincluding schedules satisfying the precedence constraints induced by a different strictorder. Formally, let P denote a strict order4 on the set of activities A and let S(P ) ={S|Sj Si pi (Ai, Aj) E...</p></li></ul>