Resource-Constrained Project Scheduling A View on ... - CiteSeerX

6 downloads 7579 Views 366KB Size Report
procedures for four types of resource-constrained project scheduling problems: the classical ... A wide variety of project planning and control software packages for personal computer and ...... sley Publishing Company). De, P,, E.J. Dunne, J.B. ...
Tijdschrift voor Economic cn M a n a g e m e n t Vol. XXXIX, 4>1994

Resource-Constrained Project Scheduling A View on Recent Developments by W.S. HERROELEN:::and E.L. DEMEULEMEESTER"

Scheduling and sequencing is concerned with the optimum allocation of scarce resources over time. Scheduling deals with defining which activities are to be performed at a particular time. Sequencing concerns the ordering in which the activities have to be performed. The allocation of scarce resources over time has been the subject of extensive research since the early days of operations research in the mid 1950s. The result is a vast and not easy to digest literature and a considerable gap between sclaeduling theory and shop floor practice. Practioneus blame scheduling theoreticians to spend scarce research money for studying toy problenas such as sequencing a set of simultaneously available unordered jobs with lcnown durations on a never failing machine in order to optimize irrelevant objective f~~nctions. Theoreticians blame practitioners for their ignorance about the recent development~,theii- reluctance in applying useful theory, or their over-enthusiasm in applying scheduling procedures miles away from their natural field of application. Despite this mutual 'interest', the I and scheduling and major issues largely remain unresolved ~ I practice, sequencing problems remain the subject of intensive research. All this does not come by surprise. Scheduling and sequencing theory, more than any other field in the area of opcrations management and operations research, is characterized by a virtually unlimited num': Department of Applied Economics, 1C.U.L e w e n . This research was supported by N.F.W.0.-F.K.F.O. Project No. 2.0051.94, which is gratefully acknowledged.

389

ber ofproblem types. The terminology arose in the processing and manufacturing industries and most research has traditionally been focused on deterministic machine scheduling (see the books by Baker (1974), Bellmann et al. (19S2), Conway et al. (19471, French (1982), Herroeleli (1991), h4orton and Pentico (1993), and Rinnooy Man (1974)). 111 this context the type of resource is a machine that can perform at most one activity at a time. The activities are commonly referred to as jobs, and it is usually assumed that a job is processed by at most one machine at a time. The processing of a job on a machine is called an operatiorz. The machine environment is quite diverse. In a single nznchine environment, each job has only one operation (one-phase productioi1). In apamllel machine environment each job also requires just one operation and that operation may be performed on any of the machines. There are three classes of problems depending on whether the maclzines are identical, unifol.m, or urzrelaied. When the machines are identical, the processing time of a job is the same on all machines. When the machines are uniform, the processing time varies as a function of a given reference speed. When the machines are unrelated, the processing time of a job again varies, but now in a completely arbitrary fashion. In multistage production, a job consists of a number of operations. Techrzologicalprecederzce constraitzts demand that each job should be processed through the machines in a particular order. For general jobslzop problems there are no restrictions upon the form of the technological constraints. When all the jobs share the same processing order we have a flow-shop problem. In the special case of an open slzop, each job has to be processed on each machine, but there is no particular order to follow. In open shops the schedule determines not only the order in which machines process the jobs, but also that in which the jobs pass between machines. Jobs are characterized by a ready time (release date) which denotes the time at which the job becomes available for processing. The time by which the job should be finished is called the due date. It is possible to consider situations were jobs Inay be splitted or not. Each operation takes a certain length of time, the processing tinze, to be performed. In addition, operations may suffer from sequence dependent set up times. The pelfor~~~arzce criteria are numerous: minimize schedule length (makespan); minimize mean (weighted) flow time; minimize mean or maximum lateness or tardiness (lateness is the difference between a job's completion time and its due date - the lateness for an early job

being negative; when a job is completed after its due date, it is tardy - tardiness being the maximum of zero and the lateness); minimize the number of tardy jobs; maximize throughput (number of jobs completed per time unit), etc.. Sometimes combined scheduling criteria are used: minimize mean Row time subject to no jobs late, search for the shortest mean flow time schedule, search for a schedule in which no job is early nor tardy (just-in-time), etc.. Problems can be studied in a static environment (all jobs simultaneously available) or in a dynamic environment (jobs have unequal ready times). Problems may be considered to be deterministic or stochastic. Over the years, several (irrealistic) assumptions of the basic machine scheduling problems have been relaxed. A natural extension involves the presence of additional resources, where each resource has a limited size and each job requires the use of a part of each resource during its execution. This leads us to the area of resource-colzstrained project schedr~lingwhich covers again a tremendous variety of problem types. Certain types of resources are depleted by use (e.g. nonrenewable resources such as money and energy). Resources may be available in an amount that varies over time in a predictable manner (e.g. seasonal labor) or in an unpredictable manner (e.g. equipment vulnerable to failure). Resources may be shared among several jobs, and a job may need several resources. The resource amounts required by a job may vary during its processing, and the processing time itself could depend on the amount or type of resource allocated, as in the case of the above mentioned uniform or unrelated parallel machines. Over the past few years, extensive research efforts have resulted in new results on the level of problem classification and complexity, and new optimal and suboptimal solution approaches. This article aims at providiilg a guided tour through what we believe to be the most important recent developments in the area of resource-constrained project scheduling. We shall take a problem-oriented view, in the sense of addressing the issues that are of concern to both project management t h e o ~ yand practice. In making this tour, we shall explore the opportunity to highlight the results obtained over the past years by the Operations Management Group of the Department of Applied Economics of K.U.Leuven. The organization of this paper is as follows. Section 11focuses on an issue of extreme practical importance: the power and pitfalls of project management software. Section III briefly comments on the impact of complexity theory (NP-completeness theory, which aims at

classifying problems as 'easy' or 'hard') on project scheduling research. Section IV then concentrates on the recent development of optimal procedures for four types of resource-constrained project scheduling problems: the classical resource-constrained project scheduling problem (RCPSP), the generalized resource-constrained project scheduling problem (GRCPSP), the preeinptive resource-constrained project scheduling problem (PRCPSP), and the problem of minimizing resource availability costs. Section V focuses on the discrete time1 cost trade-off problem (DTCTP) and recent advances with optimal solutioil procedures. Section V1 reports on the issue of selecting performailce criteria and reports on recent developmeilts in the area of maximizing the net present value of project networks. The coinplexity issue is resumed in Sectioil VII, but now from a somewhat different perspective Managers and theoreticians have a definite sensation about the difficulty ill solving various instances of the scheduliilg problems discussed in the Sectioils IV-VI, which brings us to the recent advances in measuring the complexity of a project network through the use of the so-called complexity index. Section VIII is reserved f o ~ our overall conclusions. 11. PROJECT MANAGEMENT SOFTWARE A wide variety of project planning and control software packages for personal computer and workstations flood the market. Popular magazines and scientific journals regularly publish reviews (Assad and WasiI (1986), De Wit and Herroelen (19901, Edwards et al. (1984), Fresko-Weiss (1989), Hogan et al. (1985), Maroto and Tormos (1994)). Any software for project planning and control must satisfy a numbcr of minimal requirements imposed by the user. De Wit and Herroelen (1990) give a comprehensive and definitive expositioil of these demands, and give a detailed discussio~~ of the criteria against which project planning software should be judged. Their conclusions are illuminating. While many packages do offer resource planning features allowing the planner to obtain reports on the resource usage in specific time intervals, resource profile charts and cumulative resource usage charts, the resource monitoring capabilities are not only very primitive but often dangerously misleading. The authors do not recommend the use of the packages' suboptimizing resource inonitoring procedures to the project planner, except in those rare situations where the technical know-how and expertise are available to evalua-

te the precise algorithmic steps as well as their impact on the project schedule. Although the resource monitoring performance of commercial software seems to have improved somewhat in more recent comparative tests (Maroto and Torlnos (1994)), the results are neither impressive nor convincing.

III. COMPLEXITY THEORY For some scheduling problems, algorithms have been developed that can solve instances with thousands of jobs. A typical example is the shortest processing time rule which minimizes mean flow time in a deterministic static single-machine scheduling problem. For other problems, the best algorithms we have can only cope with a few jobs. Complexity theory proxiides !he mathematical framework which allows to classify scheduling problems as 'easy' or 'hard' (for a review see Shmoys and Tardos (1993)). A computational problem can be viewed as a function f that maps each input x in some given domain to an output f(x) in some given range. Complexity theory is interested in studying the time required to compute f(x) as a function of the length of the encoding of the input X , denoted PI. The efficiency of an algorithm that computes f(x) on input x is measured by an upper bound U(n) on the number of steps that the algorithm needs on any input X with n=PI U(n) = O(g(n)) if there exist constants c and no such that U(n) = no. A problem is considered 'easy' if there exists an algorithm for its solution which has running time U(n)which is bounded by a polynomial function of n ; i.e., U(n) = O(nk)for some constant k. For any minimization problem f, there is an associated decision problem, the output of which answers the question 'Is f(x) = r n without violating the precedence arzd resource constraints, then there exists arz optimal continuation of tlze partial s c h e d ~ ~with l e the eligible activity i p u t in progress (started) at time m. Theorem 2. If at time nz hep partial sched~ilePS,, has n o activiq i n yr-ogr.ess, if there

is an eligible activity i wlzich can be schedr4led corzcurrel-ztlywith only olze other urzscheduled activity j at any tirne irzstaizt nz' >= nz witl.zout violatirzgprecedence or resource co~zstrailzts,and if activity j is both eligible and not longer in duration than activiq i, then tlzere exists an optimal corztir~rlationof tlzepartial schedzlle in wlzich both activities i and j are pr l l in prog7.e~~ at time nz. If it is impossible to schedule all eligible activities at time na, a resource conflict occurs which will produce a new branching in the branchand-bound tree. The branches describe ways to resolve the resource coilflict by deciding on which combinations of activities are to be delayed. A delaying set D(p) consists of all subsets of activities D,, either in progress or eligible, the delay of which would resolve the current resource conflict at level p of the search tree. A delaying alternative D, is minimai if it does not contain other deiayiilg alternatives D, E D(p) as a subset. Demeulemeester and Herroelen (1992a) give the proof that in order to resolve a resource conflict, it is sufficient to consider only minimal delaying alternatives. One of the minimal delaying alternatives (nodes in the search tree) is arbitrarily chosen for branching. The delay of a delaying alternative D, is accomplished by adding a tempolzrl corzstmirlt causing the correspondiilg activities to be delayed up to the delaying point, which is defined as the earliest completion of an activity in the set of activities in progress, that does not belong to the delaying alternative. The delayed activities are removed from the partial schedule and the set of activities in progress, and the algorithm continues by computing a new decision point. The search process continues until the dumlny end activity has been scheduled. Every time such a complete schedule has been found, backtracking occurs: a new delaying alternative is arbitrarily chosen from the set of delaying alternatives D(p) at the highest level p of the search tree that still has some unexplored delaying alternatives left, and branching colltiilues from that node. When level zero is reached in the search tree, the search process is completed. Two dominance rules are used to prune the search tree. The first one is a variation of the well-known left-shift dominance rule, and can be stated as follows:

Theol.em 3. If the delay of the delaying alterr?ative at the previous level oftlze branch-

aizd-boi~ndtree forced a n acti1:ity i to become eligible at tirne nz, if the cr~wentdecisio~zis to start acfivi9 i at time n? arzd if activity i can be leftshifted without violating the yrecedeizce or resource constraints jbeca~ise activities in progress were delayed), tlzeiz the con.esporzdi~1gpartic11 sched r ~ l cis domirzated.

The second dominai~cerule is based on the concept of a cutset. At eveiy time instant m a cutset C,?,is defined as the set of unscheduled activities for which all predecessor activities belong to the partial schedule PS,. The proof of the following theorem can be found in Demeulemeester (1992) and De~neulemeesterand Hei-roeien (1992a): Tlzeorern 4. Corzsider a c ~ ~ t sG e t, , at time i n which contains the same activities as cl critset C , which wcrsprevio~~sly saved dziri~zgthe search of anotherpath irz tlze search tree. If time Ic was not greater than time 1n and if all activities in progress at tirm k did 11ot finish later than the maxinzzlnz of nz and the finish time of tlze corresponding activities in PS,,, then tlze current partial schedule PS,% is dominated.

The procedure has been tested with three lower bounding mles. The well-known remaining critical path length bound and critical sequence lower bound (Stinson et al. (1975)) are supplemented by an extended critical sequence lower bound which is computed by repetitively looking at a path of unscheduled, non-critical activities in combination with a critical path. The extended critical sequence lower bound calculation starts by calculating the Stinson critical sequence lower bound. This allows us to determine which activities cannot be scheduled within their slack time. Subsequently, all paths consisting of at least two unscheduled, non-critical activities, which start and finish with an activity that cannot be scheduled within its slack time, are constructed. A simple type of dynamic programming then allows us to calculate the extended critical sequence bound for evely noncritical path. The branch-and-bound procedure has been programmed in T ~ ~ r b o C Version 2.0 for a personal cornputer XBM PSI2 Model 70 A2l(or compatibles) running under the DOS operating system. The procedure solves all the 110 Patterson test problems (Parterson (1984)) in an average CPU time of 0.204 seconds and a standard deviation of 0.450 seconds. Since the original 1992 paper extensive computational

results have been obtained with the DH-procedure (see e.g. Demeulemeester et al. (1994a), D e Reyck and Herroelen (1993)), all with very encouraging results.

B. Extensions of the DH-procedure The DH-procedure has been successfully extended to the generalzzed resource-corzstmined project schedzllzrzg problenz (GRCPSP) and the preemptive resource-constrained project sclzed~llingproblem (PRCPSP). In the GRCPSP (Demeulemeester and Herroelen (1992b)) three of the basic assumptions of the RCPSP are relaxed. First of all, the GRCPSP allows for precedence relations of the precedence diagramming type - start-start, finish-finish, finish-start and start-finish constraints -with the restriction that activities are not allowed to start before one of their predecessors has started. Secondly, ready times and due-dates may be specified for each activity stating that the activity cannot be started earlier than its ready time and must be completed by its due date. East but not least, the resource availabilities may be variable over the project horizon. The PRCPSP (Demeulerneester and Herroelen (1992~))allows activities to be preempted at integral points of time. The procedure for the GRCPSP has recently been used for solving general producrion scheduling problems involving sequence-independent setup times as well as process and transfer batches. Using appropriate computations for the time lag associated with finish-start precedence relations between network activities and appropriate procedures for computing activity durations, Demeulemeester and Herroelen (1994) have demonstrated how a branch-and-bound procedure, originally developed for solving the GRCPSP, can be used for generating feasible solutions under various scenarios with respect to both the number and size of the process and transfer batches used.

C. Minimizing resource availability costs The branch-and-bound procedures for the RCPSP, the GRCPSP and the PRCPSP provide an answer to the following question: Civerz the project data and the resource availabiliries, what is the shortestproject length that can be obtained such that n o precedence or resource constraints are violated? A typical characteristic of the solution methodology is the fact that the search procedure is started with a high value

(infinity) for the upper bound on the objective value. The search space is then restricted to all solutions that have an objective value that is strictly smaller than the current upper bound. Each time a feasible solution is found (with an objective value that is necessarily smaller than the current upper bound), the upper bound is immediately updated to the value of the objective function for this solution. The search is then continued with a more restricted search space, containing all solutions with a project length that is at least one time unit smaller than the current upper bound, until all possible solutions have been considered, either explicitly or implicitly. Thus, the upper bouild directly effects the magnitude of the search space. Given the availability of an optimal solution procedure for the RCPSP, GRCPSP and PRCPSP, it should also be possible to build efficient procedures for the following decision problem: Gi1:e.n theprojecr data, the resource availnbilities and a m,axinzalproject length, does there exist a sol~ltionwith a project length that does not exceed the maximnlproject length and for which none of the precedence or resource constraints is violated? In the r.esozlrce availability cost minimization problem, a maximal project length is specified and the objective is to determine the cheapest resource availability amounts for which a feasible solution exists that does not violate the project due date. The solution approach involves the iterative solution of decision problems with different resource availabilities. The search strategy starts by determining the minimum resource availabilities required for the different resource types. These are derived from the solution of resource-constrained project scheduling decision problems, either with a single resource type or with two resource types (for all other resource types the availability is assumed to be infinite). Based on the solutioils to these problems (obtained by the DH-procedure and its extensions), the algorithm defines so-called eficielztpoirzts, which delimit the solution space of all possible combinations of resource availabilities that are not eliminated by solving the resource-constrained project scheduling decision probleins with one or two resource types. One the11 tries to solve the resource-constrained project scheduling decision problem that corresponds with the cheapest efficient point. If no feasible solution can be found with these resource availabilities, the efficient point is cut from the solution space, new efficient points are defined for which the resource availability for one resource type is one unit higher and the search is continued by trying to soive the resource-constrained project schedu-

ling problem that corresponds with the currently cheapest efficient point. This process is repeated until a feasible solution is found. The resource availabilities that correspond with the efficient point for which the first feasible solution was foun,d constitute the optimal solution. The computational experience obtained with the proposed algorithm shows it to outperform Mohring's procedure (Mohring 1984), which is the only solution procedure available for optirnally solving the mi~liinalresource availability cost problem. Moreover, the procedure proves to be less sensitive to changes in the cost parameters.

V. DISCRETE TIME/COST TRADE-OFFS IN PROJECT NETWORKS Demeulemeester et al. (1994b) have developed two optimal procedures for the discrete timelcost trade-off problem (DTCTP) in deterministic project networks of the CPM type, under a single nonrenewable resource. The specification of a project is assumed to be given in activity-on-arc (AoA) notation by a directed acyclic graph (dag) D = (N,A) in which W is the set of nodes, representing network "events", and A is the set of arcs, representing network "activities". We assume, without loss of generality, that there is a single start node l and a single terminal node n , n=INI. The duration y, of activity a E A is a discrete, nonincreasing function g,(x,) of the amount of a single resource allocated to it; i.e., y, = g,(x,). The pair y,,x, shall be referred to as a "mode", and shall be written as: y,(x,). Thus an activity that assumes four different durations according to four possible resource allocations to it shall be said to possess four modes. n s the DTCTP (see also De et Three possible objective f ~ ~ n c t i o for al. (1993)) are considered. For the first objective function (subsequently referred to as $1) we specify a limit R on the total availability of a single nonrenewable resource type. The problem is then to decim = IAl, that comde on the vector of activity durations (y,, ...,Y,~), pletes the project as early as possible under the limited availability of the single nonreilewable resource type. A second objective function (referred to as P2) reverses this problem formulation: now we specify a limit T on the project length and we try to minimize the sum of the resource usage over all activities. For the third and final objective function (referred to as P3) we have to compute the complete timelcost trade-offf~~ilction for the total projzct, i.e.. in the case of the DTCTP

all the efficient points (T,R) such that with a resource limit R a project length T can be obtained and such that no other point (T', R') exists for which both T' and R' are smaller than or equal to T and R: -

minimize [ C xlj I -t,