multiple resource–constrained scheduling using branch and bound

9
This article was downloaded by: [RMIT University] On: 23 September 2013, At: 02:38 Publisher: Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK A I I E Transactions Publication details, including instructions for authors and subscription information: http://www.tandfonline.com/loi/uiie19 Multiple Resource–Constrained Scheduling Using Branch and Bound Joel P. Stinson a , Edward W. Davis b & Basheer M. Khumawala c a Syracuse University, Syracuse, NY, 13210 b University of Virginia, Charlottesville, VA, 22906 c University of Houston, Houston, Texas, 77004 Published online: 09 Jul 2007. To cite this article: Joel P. Stinson , Edward W. Davis & Basheer M. Khumawala (1978) Multiple Resource–Constrained Scheduling Using Branch and Bound, A I I E Transactions, 10:3, 252-259 To link to this article: http://dx.doi.org/10.1080/05695557808975212 PLEASE SCROLL DOWN FOR ARTICLE Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) contained in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon and should be independently verified with primary sources of information. Taylor and Francis shall not be liable for any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of the Content. This article may be used for research, teaching, and private study purposes. Any substantial or systematic reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http:// www.tandfonline.com/page/terms-and-conditions

Upload: basheer-m

Post on 15-Dec-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multiple Resource–Constrained Scheduling Using Branch and Bound

This article was downloaded by: [RMIT University]On: 23 September 2013, At: 02:38Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registered office: MortimerHouse, 37-41 Mortimer Street, London W1T 3JH, UK

A I I E TransactionsPublication details, including instructions for authors and subscription information:http://www.tandfonline.com/loi/uiie19

Multiple Resource–Constrained Scheduling UsingBranch and BoundJoel P. Stinson a , Edward W. Davis b & Basheer M. Khumawala ca Syracuse University, Syracuse, NY, 13210b University of Virginia, Charlottesville, VA, 22906c University of Houston, Houston, Texas, 77004Published online: 09 Jul 2007.

To cite this article: Joel P. Stinson , Edward W. Davis & Basheer M. Khumawala (1978) Multiple Resource–ConstrainedScheduling Using Branch and Bound, A I I E Transactions, 10:3, 252-259

To link to this article: http://dx.doi.org/10.1080/05695557808975212

PLEASE SCROLL DOWN FOR ARTICLE

Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) containedin the publications on our platform. However, Taylor & Francis, our agents, and our licensors make norepresentations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose ofthe Content. Any opinions and views expressed in this publication are the opinions and views of the authors,and are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be reliedupon and should be independently verified with primary sources of information. Taylor and Francis shall not beliable for any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilitieswhatsoever or howsoever caused arising directly or indirectly in connection with, in relation to or arising out ofthe use of the Content.

This article may be used for research, teaching, and private study purposes. Any substantial or systematicreproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in anyform to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions

Page 2: Multiple Resource–Constrained Scheduling Using Branch and Bound

Multiple Resource- -Constrained Scheduling Using Branch and Bound

JOEL P. STINSON SENIOR MEMBER, AIIE

Syracuse University Syracuse, NY 13210

EDWARD W. DAVIS SENIOR MEMBER, AIIE

University of Virginia Charlottesville, VA 22906

BASHEER M. KHUMAWALA University of Houston Houston, Texas 77004

Abstract: This paper focuses upon the problem of assigning feasible start times to a set of activities making up a project, static job shop, or static flowship type schedules under two constraint sets: (1) no activity may be started until all activities technologically established as its predecessor set have been completed, and (2) the total resource requirements of all activities in process at any time in the schedule must not exceed the level of availability for each of the multiple resource classes. The solution procedure used for these problems is branch and bound, and the resulting complete schedules are optimized with an objective of minimizing the completion time of the entire set of activities. Computational results on tests conducted on a number of randomly generated problem sets with up to 60 activities and six resource classes are presented.

Most of the early development in the use of PERT and and CPM techniques was based upon the assumption that all a, rik for V t and Vk (2)

resources required in the performance of the project were i € A t

available in unlimited quantities. Except for a few high where: priority projects operating under rigid time constraints, however, this assumption is not realistic. Consequently, a si = start time of activity i great deal of research attention in recent years has been devoted to the development of scheduling techniques which 4 = duration of aclivit~ i include resource considerations. Such techniques have been classified by Davis r51 as timelcost tradeoff models, resource pi = set of activities which must precede activity i

leveling models and resource-constrained models. This paper ah = availability level of resource k focuses upon the third of these categories-the resource- constrained scheduling problem. A, = set of activities in process at time t

rik = number of units of resource k required by activity i

Mathematical Formulation

The resource-constrained scheduling problemis expressed as an integer programming model as follows:

m%ym {si + di } } subject to

si 2 maximum {sj + dj ) for Vi j E Pi

(1)

Received April 197'1; revised June 1978. Paper was handled by Scheduling, Planning and Control Department.

The objective is to minimize the finish time of the last activity in the project to be completed, i.e. establish a set of feasible start times for all activities such that the entire project is completed in a minimum span of time. The feasibility of the schedule is established by two sets of con- straints. Constraint set (1) ensures that all activities, which must technologically precede any activity i , are completed before activity i may start. Constraint set (2) ensures resource feasibility; it states that all resources allocated to those activities in process at any time in the schedule cannot exceed the availability of any of the resources.

252 AIIE TRANSACTIONS, Volume 10, No. 3

Dow

nloa

ded

by [

RM

IT U

nive

rsity

] at

02:

38 2

3 Se

ptem

ber

2013

Page 3: Multiple Resource–Constrained Scheduling Using Branch and Bound

The model takes on the following assumptions:

1) Each activity is assumed to require a known, deter- ministic, integer period of time during which it must be in process.

2) For each activity, a known, deterministic level of resource usage is required (may be zero) for each of the resource classes.

3) Each activity requires a constant level of resource usage for each resource class during the entire interval in which it is in process.

4) The level of availability of each resource class is constant throughout the schedule.

5) Setup times are assumed negligible or are included in the processing times.

A number of techniques, including integer linear pro- gramming, dynamic programming and implicit enumeration, have been proposed to solve this problem. A detailed sum- mary of these procedures is contained in Davis [5] . Although many of these algorithms have not been computer pro- grammed for performance testing, those algorithms which employ implicit enumeration, according to Bennington and McGinnis [3], have demonstrated the greatest promise for practical application. Two examples of enumeration proce- dures which report extensive computational tests are Davis and Heidorn [6] and Johnson [8].

The bounded enumeration algorithm of Davis and Heidorn [6] allows multiple resource constraints, but their formula- tion makes it necessary to split up each activity of time duration di into di separate activities, each of unit time duration. Consequently, their procedure may lead to greater computational difficulty for problems where activity dura- tions are large.

Johnson's [8] branch and bound algorithm is similar in many respects to the one presented in this paper. The primary differences are as follows:

1) Johnson's algorithm was developed for only a single resource class, whereas ours is generalized to include multiple res0urces.A~ a consequence, the applicability of our procedure may be extended to encompass static job shop or flowshop problems as well as project scheduling problems with multiple resources.

2) Our algorithm incorporates a more powerful lower bound which simultaneously considers both precedence and resource constraints. It will be shown later in this paper that the b & b tree1 is more effectively pruned with a

'1t is well known that the b & b method consists of partitioning the problem into sub-problems (branching) and evaluating these sub- problems (computing bounds). This procedure is conveniently repre- sented by means of the branches and nodes of a tree-hence it has commonly been referred to as the b & b tree.

September 1978, AIIE TRANSACTIONS

stronger lower bound, thus enhancing the computational efficiency of the algorithm.

3) The manner in which the b &b tree is developed depends upon what we will later refer to as a node selection heuristic. Our algorithm employs a node selection heuris- tic which improves upon both the dominance and the lower bound pruning of the b & b tree.

Other researchers have used b & b procedures to solve slightly different variations of the resource-constrained scheduling problem. For example, Mason and Moodie [I 11 use b & b to minimize the combined costs of resource level fluctuation and project slippage for a single resource class problem. Katsoulas and Sadowski [9] have employed it to optimize, at a given point in time, the selection of activities to schedule as well as the class of resource to allocate (when such choices may exist). Their procedure, however, only optimizes the decisions at discreet points in time and may not be optimal for the schedule as a whole.

The Branch and Bound Tree

We now describe our b & b algorithm to solve the resource- constrained scheduling problem. As stated earlier, this con- sists of creating nodes in the tree which in this problem characterize certain "partial schedules." These partial sched- ules represent scheduling decisions for some subset of the total number of activities in the network. The partial schedules are always feasible (activities are scheduled only if (1) all their predecessors are completed and (2) resource availability levels are not exceeded for any resource class). As we proceed to further develop the tree from some given partial schedule, we create a new family of partial schedules by "branching." Each member of the new family has in common with the others all scheduling decisions made previously by common ancestral nodes. But each is unique from the others in that it includes one new decision involv- ing the scheduling of one or more activities previously unscheduled. Therefore, in each branching operation we create only as many new partial schedules as there are feasible combinations of activities that may enter the schedule at some point in time, including in some cases scheduling the null set.

We explain the procedure by the example project prob- lem given in Fig. 1. Figure 2 is its resulting branch and bound tree, and Fig. 3 gives Gantt charts of all possible complete schedules for this problem.2 The first node, or partial schedule, indicated on Fig. 2 as node 1, represents the only feasible scheduling decision made at time zero; that is to place activity 1, the dummy start activity, in an active status. When activity 1 is completed, again at time zero, there are three possible scheduling decisions which are

2 ~ t is noted that the node numbers given in Fig. 2 are nodes in the b & b tree and do not correspond to the nodes in the network diagram given in Fig. 1.

Dow

nloa

ded

by [

RM

IT U

nive

rsity

] at

02:

38 2

3 Se

ptem

ber

2013

Page 4: Multiple Resource–Constrained Scheduling Using Branch and Bound

Art. No. Dur. R e r . Req.

1 0 0 2 1 I 3 4 1 4 4 1 5 4 1 6 0 0

3 . 4

~ e s o u r ~ ~ Ara i loble = 2 Untts

Legend

Fig. 1. Example project scheduling problem.

feasible. The first is to schedule activity 2 by itself (node 2); the second is to schedule activity 3 by itself (node 3); and the third is to schedule both activities 2 and 3 (node 4) since both taken together do not require more units of resource than are available. Although Fig. 2 shows the entire b & b tree for this problem, including an exhaustive set of all feasible complete schedules (the terminal nodes numbered from nodes 20 through 25), the procedure may be ade- quately illustrated by describing only the path leading to terminal node 23, the optimal schedule.

A" ; I 1:o

where: LII.tl) "=nod. no. t.-.rkd. tlrn.

1 I 1 I

Fig. 2. The branch and bound tree.

In branching from node 2, where activity 2 was scheduled to start at time zero, we first must determine the time that the next set of scheduling decisions will occur. It has been shown by Johnson [8] that this new time is the completion time'of the first activity in the active set to be completed, a consequence of the fact that we have assumed constant daily levels of resource availability for all resource classes. Therefore, all scheduling decisions in the family of nodes emanating from node 2 will occur at time 1, when activity 2 is completed. Two new feasible decisions now present them- selves-schedule activity 3 by itself (node 5) and schedule activity 4 by itself (node 6). The alternative of scheduling both activities 3 and 4 together is not resource feasible.

The branching from node 6, where activity 4 was scheduled to start at time 1, will result in three new nodes. These characterize the scheduling of activity 3 (node lo), activity 5 (node 11) and activities 3 and 5 together (node 12). All three nodes have an identical decision time of 5 days, the completion time of activity 4.

Finally, branching from node 12, we find that both activities 3 and 5 will be completed simultaneously at the end of day 9. This results in only a single new decision, which is to schedule the final dummy activity 6 at node 23. Hence, node 23 is a terminal node, or complete schedule, with all activities having been assigned a start time. This is the optimal schedule, and its completion time is 9 days.

In summary-note that the tree we have created is exhaustive with all possible feasible complete schedules existing as a terminal node. It is also non-redundant since no two complete schedules are alike. And, all partial schedules and complete schedules are feasible with respect to both technological and resource constraints. Our b & b tree then offers a framework upon which all possible feasible schedules can be evaluated, and the best schedule can be determined. Such a procedure, however, would prove quite impractical even for modest sized problems, since the number of complete schedules rapidly becomes very large. Therefore, it is necessary whenever possible to prune away portions of the tree, hopefully in its earlier stages of development. The pruning of a node is justified if it can be established that further branching cannot lead to complete schedules which are better than other complete schedules that we either already know to exist or could be developed in further branching from some other node. Such pruning operations are done in two ways-by dominance pruning and lower bound pruning.

Dominance Pruning

Dominance pruning may be introduced into the b & b algorithm in two ways. The first involves a comparison process initially developed by Johnson [8]. We say that partial schedule X dominates partial schedule Y if all the following conditions are met:

1. The unscheduled activities in X are a subset of those in Y.

2. The set of activities currently in process (active set) in X are a subset of those in Y.

3. The projected completion time of each activity in the active set ofX is equal to or less than that of the same activity in the active set of Y.

4. The current partial schedule time of X is equal to or less than that of Y.

The second class of dominance pruning is much more efficient to implement. It states that if there is any activity

- AIIE TRANSACTIONS, Volume 10, No. 3

Dow

nloa

ded

by [

RM

IT U

nive

rsity

] at

02:

38 2

3 Se

ptem

ber

2013

Page 5: Multiple Resource–Constrained Scheduling Using Branch and Bound

already assigned a start time in some partial schedule which can be left-shifted to an earlier start time without violating either a precedence or resource constraint, the partial schedule is dominated. This dominance condition is proven by Schrage [14]. To illustrate this type of pruning, refer again to Fig. 2. When we branched from node 1 to create nodes 2,3, and 4, all combinations of activities 2 and 3 were scheduled. Note that node 3 scheduled only activity 3 by itself. Activity 3 has a duration of four days, whereas activity 2, which was not scheduled, has a shorter duration- only one day. Therefore, all scheduling decisions down- stream of node 3 must occur at day 4 or later. So, regardless of when activity 2 later appears in any schedule emanating from node 3, it can always be left-shifted to start at time zero. This case is also illustrated in Fig. 3. The Gantt chart for node 24, which is the only complete schedule down- stream of node 3, shows activity 2 starting at day 4. If activity 2 were fully left-shifted, the remainder of the schedule could be shortened by one day, and hence become

Optimal Schedule- - Node 23

Resources Used :-I

O 1 5 9 Time

Non-optimal Schedules

Node 2 0

Node 2 1

4 le f t -ac t ive

5 9 13

Node 22

Act. 3 is not 4

5 lef t - active

5 9 13

- Node 2 4

Act. 2 is not le f t -ac t ive

Node 2 5

identical to the complete schedule of node 25. Consequently, the partial schedule of node 3 is dominated by another partial schedule (node 4) and could have been eliminated from the tree at its inception. In a similar fashion nodes 10 and 1 1 could have also been pruned.

The reader may now ask, "if node 3 was dominated, cannot node 2 also be dominated?" In both cases only one of two activities were scheduled, whereas it was feasible to schedule both. The answer to this question is that although node 2 cannot be dominated directly, any immediate branch made from node 2 which incorporates activity 3 into the schedule may be dominated. Thus, we see that node 5 is dominated, because activity 3 which is set to start at day 1 may be left-shifted by one day. The resulting Gantt chart for the only complete schedule downstream of node 5 (as shown on Fig. 3) is node 20. It is easily seen that activity 3 can be left-shifted to yield a correspondingly shorter com- plete schedule. Node 5 is therefore dominated by node 4.

Lower Bound Pruning

Each partial schedule in the b & b tree is characterized by certain decisions concerning the scheduled start times of some subset of all activities in the project network. It is also characterized by a partial schedule time which is the earliest time that any unscheduled activity may be started. There- fore, if we compute the critical path for the unscheduled activities, ignoring resource constraints, then the completion time of this path constitutes a lower bound on completion time for any partial schedule emanating from the partial schedule. We term such a lower bound a "precedence-based" lower bound. If this lower bound completion time is not less than the time of completion for some other known complete schedule (which we call a current upper bound), we may prune away the partial schedule.

Another lower bound on completion time may also be computed by ignoring precedence constraints and consider- ing only the resource constraints. In effect, we have some number of man-days requirements for the unscheduled activities, which, when divided by the number of men available per day, will yield a minimum number of days for which the schedule must actively continue. This results in a "resource-based" lower bound.

The third lower bound which may be implemented to effect pruning is what we will term a "critical sequence" lower bound. This lower bound simultaneously takes into account both precedence and resource constraints. We describe this lower bound3 with the example given in Fig. 4. In this example, the activities are arbitrarily numbered from 5 to 9 and are meant to represent the unscheduled activities at some partial schedule time, t,,. A critical path for this network contains activities 5,6,8, and 9. Activity 7 is non- critical; its early start time is t, + 3 and its late finish time is t, + 11. Now note that activity 7, requiring 3 units of

Fig. 3. Gantt charts for all possible complete schedules. 3~ formal proof o f this lower bound is provided in [15] .

September 1978, AIIE TRANSACTIONS 255

Dow

nloa

ded

by [

RM

IT U

nive

rsity

] at

02:

38 2

3 Se

ptem

ber

2013

Page 6: Multiple Resource–Constrained Scheduling Using Branch and Bound

Act. Dur. R=s.Req'd 5 3 3 6 5 3 7 6 3 8 3 4 9 5 5

Total Resources A r o ~ l o b l e = l

Fig. 4. Example for critical sequence lower bound.

resource, cannot be scheduled anywhere in the interval between its early start and late finish times since insufficient units of resource remain to be allocated. It can be started at t, + 3, thereby delaying activities 6, 8, and 9 by six days, which is the full duration of activity 7. Similarly, it may be scheduled at time t, + 8 or t, + 11, again causing a six day delay. So regardless of where activity 7 appears in the schedule, the lower bound on completion time is a full six days longer than the critical path length. Let us now assume that, instead of requiring 3 units of resource, activity 7 required only 2 units. We then find that there are five days in the interval between the early start and late finish times of activity 7 where sufficient resources are available. In this case, activities 8 and 9 may be delayed by one day and activity 7 may be scheduled in parallel with activity 6 . This yields a lower bound which is one day longer than the critical path length.

Operationally all three lower bounds may be computed, and the largest of the three is taken to be the lower bound for the partial schedule.

Node Selection Heuristics

The process of solving the resource-constrained scheduling problem with b & b involves the two primary sequential steps of (1) branching or building up the tree and evaluating (bounding) the nodes and (2) pruning nonoptimal portions of the tree. The more effective the pruning, the more effici- ent the procedure becomes. To some degree, pruning is enhanced through the use of rules which govern the manner in which the tree is allowed to grow. One such rule concerns the selection of the next unpruned node from which to branch. This is termed the node selection rule. There has been considerable investigation into the effectiveness of these rules on the computational efficiency of b & b algorithms (e.g. see [I, 4, 101).

Depending upon the node selection rules, the b & b tree can be developed in quite contrasting fashions. One selection rule, for example, might be to branch next from the last

node created in the immediately preceding branching opera- tion. Using this rule the tree tends to grow within restricted areas. Before moving to other areas of the tree all of the area previously explored will have been pruned away except for one complete schedule-the current upper bound. This scheme is commonly referred to as backtracking. The main advantage of backtracking is that computer storage require- ments are kept to a minimum. The two primary disadvan- tages, however, are that (1) computation times tend to be larger and (2) dominance rules which rely upon compari- sons of nodes held in storage are not possible. Other node selection rules which result in a similar tree development are: sele~t the node having the largest number of activities with assigned start times; select the node with highest partial schedule time, or select the node with the highest lower bound.

In contrast to backtracking, a completely different form of tree development is known as skiptracking. With skip- tracking, the tree tends to grow in breadth and moves down- ward in a more or less uniform fashion. As opposed to back- tracking, skiptracking schemes require significantly more core storage, but generally can be solved in less computer time. In addition, the additional power of dominance prun- ing by comparison of open nodes is available with skip- tracking. Two node selection rules which result in skiptrack- ing in our application are: select the node having the least lower bound, or select the node which has the least total accumulated resource idleness up to the current partial schedule time.

The use of a single node selection rule for very large problems may be of limited effectiveness, particularly those employing skiptracking. This is because there could exist within the tree hundreds of nodes all with identical lower bounds. Ashour, More and Chiu [2] recognized this problem in solving job shop and flowshop problems, and proposed instead that nodes be selected on the basis of a series of partial schedule attributes, which they termed a decision vector. In effect, a decision vector is a series of tie breaking rules for selecting the next node from which to branch. If no ties exist for the first attribute in the vector of course, the other attributes are ignored. Ashour et al. found that decision vectors were especially effective in guiding a search down the tree to asingle heuristic solution. We felt that such a decision vector scheme could enhance the performance of our algorithm in two ways. First, dominance by comparison could be improved because potentially better partial sched- ules would be developed earlier. And secondly, lower bound pruning could be improved upon if a periodic decision vector search process could lead to optimal or near optimal upper bound solutions as early as possible.

We considered the following partial schedule attributes in the decision vector:

1. Lower bound [LB,]

2. Critical sequence lower bound [LBC,]

3. Precedence based lower bound [LBP,]

AIIE TRANSACTIONS, Volume 10, No. 3

Dow

nloa

ded

by [

RM

IT U

nive

rsity

] at

02:

38 2

3 Se

ptem

ber

2013

Page 7: Multiple Resource–Constrained Scheduling Using Branch and Bound

4. Resource based lower bound [LBR,]

5. Total accumulated resource idleness [I,]

6. Current partial schedule time [ t , ]

7. Number of activities with assigned start time [NS,]

8. Total number of immediate followers of activities in the active set [TF,] .

LBC,, LBP, , and LBR, have previously been defined. LB, is taken as the largest of the three individual lower bounds, i.e. LB, = Max {LBC,,, LBP,, LBR, ).The four lower bound type attributes are measures of a schedule's goodness in a more or less look ahead fashion, since they relate to the earliest possible time some resulting complete schedule may be completed. On the other hand, attribute I, reflects only upon the goodness of decisions made in past branchings. The total resource idleness resulting from these past decisions is attribute I,. The current partial schedule time, attribute t,, has previously been defined. It has particularly attractive look-ahead features when used in conjunction with lower bound attributes in the decision vector. For example, if two partial schedules have the same lower bound, we would prefer to branch from the node whichis more fully developed (i.e., closer to a complete schedule) since its resulting com- plete schedules will have a tendency to be not far removed from its lower bound value. Consequently, it is preferable to break ties by selecting on the basis of higher values oft,. In a similar fashion, attribute NS, may be employed in a tie breaking capacity with higher values of NS, signifying more fully developed schedules. Our final attribute, TF,, is again a look ahead attribute, but it applies to a limited horizon. If the activities in the active set of a given partial schedule tend to have a large number of technological fol- lower activities, there is a better chance that the family of new partial schedules created in immediately following branches might be better "packed" together.

As a preliminary investigation a sample of 24 small test problems were solved using various combinations of partial schedule attributes in the decision vector. These test prob- lems were taken mostly from the literature; they included 14 project scheduling, six flowshop and Four job shop prob- lems. Six different decision vectors each having four attri- butes, were selected for testing. These selections were made, in part, on the basis of Ashour et al. [2], and partly on the basis of the complementing features of the attributes (i.e., combining look-ahead attributes with look-back attributes). Table 1 summarizes the vectors tested.

Based upon these tests the various decision vectors were evaluated according to two measures of performance: (1) the total number of branches taken to find and verify the optimal solution, and (2) the total number of branches taken before obtaining an upper bound solution which was later found to be optimal. The tests showed that vector V6 performed almost uniformly better than the other vectors.

Table 1 : Decision vectors.

Vector #I Selector #2 Selector #3 Selector #4 Selector

V 1 LBn LB& LBP, In V2 LBn LBP, LBR, In V3 La I n t n T s n V4 I n LBP, *n Tsn V5 I n LBP, LBP, T% V6 I 4 t n I n N%

In every case but one (a flowshop problem), V6 arrived at the optimal solution as an upper bound as soon or sooner than any of the others. In addition, it yielded an optimal solution for the first upper bound in 15 of the 24 problems tested; this was better than all other vectors except for V3 which also had 15. V6 also performed well from the stand- point of fewest branches taken to verify the optimal solution. For 13 of the problems it took the least number of branch- i n g ~ at solution termination; for 6 problems it was tied for least, and in only 7 problems was it outperformed by one of the others.

Finally, we note that with each node selection heuristic tested, the first selector in the decision vector was either the least lower bound LB, or least accumulated resource idle- nessI,. Consequently, a skiptrack tree development resulted in all cases. As mentioned previously, skiptracking schemes tend to build the tree uniformly downward, and therefore, do not concentrate branching activity upon the terminal areas of the tree. Thus, the generation of new upper bounds is not as "automatic" as it is with backtracking. It is there- fore advantageous to introduce some criteria into the proce- dure whereby a potentially good partial schedule is recog- nized as the tree develops. This good partial schedule may then be set as a point of departure (i.e., search origin) from which we may proceed directly downward in hopes of find- ing an improved upper bound solution. With our algorithm this was accomplished by selecting our new search origin as the first node selected which has a lower bound greater than that of any node previously branched from. For example, let us assume that we have been branching from a number of nodes having a lower bound of say, 50 time units. As we branch, all new nodes created will have lower bounds of 50 or more. Those having a lower bound of 50 will continue to be branched from. Eventually, we will either: (1) come upon a complete schedule whose time of completion is 50 time units; this then would be an optimal solution and the proce- dure would terminate or (2) exhaust all unpruned nodes bounded at 50 time units and come upon a schedule with some greater lower bound node. Let's assume in our example the latter happens, and we come upon the first partial schedule whose lower bound is say, 52 time units. Accord- ing to the criteria set into our decision vector, we deem this first partial schedule encountered as the "best" of all schedules whose lower bound is 52. With this as our new search origin, the procedure then may be set to proceed directly downward from this node to a new upper bound solution using the decision vector to guide the search.

-

September 1978, AIIE TRANSACTIONS 25 7

Dow

nloa

ded

by [

RM

IT U

nive

rsity

] at

02:

38 2

3 Se

ptem

ber

2013

Page 8: Multiple Resource–Constrained Scheduling Using Branch and Bound

Computational Experience

The b & b procedure described here was programmed4 in FORTRAN IV and the solutions to a large number of problem sets were run using an IBM 370115.5 in order to assess its performance. All problems were generated ran- domly in a manner consistent with the problems tested by both Johnson [8] and Davis and Heidorn [6]. A summary of the types of problems tested, as well as the overall performance of the algorithm expressed in mean CPU and variance in CPU times, are given in Table 2. A representative 43-activity problem is also shown on Fig. 5. The project- type problems ranged in size from 23 activities to 43

- --

Table 2: Summary of performance.

Number Number Mean CPU Variancejn Type Size Attempted Solved Time (Min) CPU Min

Project 23 acts. 60 60 0.20 0.07 Project 27 acts. 60 60 0.76 1.02 Project 35 acts. 60 57 2.61 19.17 Project 43 acts. 60 56 5.84 60.75 Flowshop 6 by 3 10 10 0.22 0.05 Flowshop 6 by 6 10 7 7.74 22.29 Flowshop 10 by 3 10 5 0.38 0.69 Job shop 6 by 3 10 10 0.06 0.002 Job shop 6 by 6 10 10 1.12 0.92 Jobshop 10by3 10 10 0.26 0.1 3 Jobshop 10by6 10 3 7.20 90.17

Mean CPU times and variances are given only for the solved problems.

L

activities, and the number of resource classes ranged from one to six. Out of the total of 240 project problems at- tempted, optimal solutions were found for 233, or 97%. The performance of the algorithm in solving job shop problems was equally impressive. With the exception of the large 10- job, 6-machine problem sets, all the job shop problems were solved optimally. The flowshop problems, however, proved to be difficult to solve. Since flowshop problems are charac- terized as a set of jobs having an identical sequence of machine operations, there is a large degree of systematic idleness for machines which appear late in the sequence dur- ing the earlier schedule periods. Similarly, those machines appearing early in the sequence, are systematically idle during the later schedule periods. Hence, flowshop schedules are somewhat more elongated in time (i.e., not as well packed) than identically-sized job shop schedules (where each job takes on a random ordering of machine operations). Conse- quently, the lower bound pruning isless effective for flow- shop problems; this was borne out by the test results. It is important to note that the solution of flowshop problems with our algorithm inherently allows the order of jobs to change during their transit through the machine sequence (i.e., it permits passing of jobs). This results in (N!)M possible schedules in contrast with only N! possible sched- ules when passing is not allowed.

4~ listing of this program is contained in [I5 1. Vector V6 was used in all these tests.

A',. Ma Our. wss. R-. Op l . lb r ( Art No. Dui Rel Re.. Opt.~(e.t k t . No. Our. Per I e q - Opt. Slort

-

Fig. 5. A representative randomly generated project scheduling problem.

As might be expected, the use of a skiptracking proce- dure (vector V6) resulted in relatively large computer storage requirements for the larger problems. In every case where an optimal solution was not found, the procedure terminated when the b & b tree grew beyond the allotted storage capacity of 500K bytes.

The performance of our b &b procedure was significantly influenced by the improved criticd sequence lower bound developed in this study. In the lower bound subroutine the program computed, in order, the precedence-based lower bound, the resource-based lower bound, and finally, the critical sequence lower bound. So, for each partial schedule pruned by the critical sequence lower bound, an unsuccess- ful attempt was first made to prune with the other two. Table 3 presents the percentage of all lower bound pruning accomplished by each of the three lower bounds. An analysis of these results reveals two very important observa- tions. First, for the problems which could not be solved optimally, the influence of the critical sequence lower bound was less pronounced, and secondly, for the problems which were solved optimally, the more difficult the problem (measured in CPU time), the more effective was the relative performance of the critical sequence lower bound.

Table 3: Lower Bound Pruning.

Problem Size Precedence Resource Critical TY pe Based (%I Based (%) Sequence(%)

Project 23 acts. 58.7 1.2 40.1 Project 27 acts. 55.8 3.3 40.9 Project 35 acts. 56.6 2.5 40.9 Project 43 acts. 53.8 2.4 43.9 Flowshop 6 by 3 27.6 54.5 17.8 Flowshop 10 by 3 15.1 74.1 10.8 Job Shop 6 by 3 25.8 37.5 36.7 Job Shop 6 by 6 22.5 39.0 38.5 JobShop 10 by 3 18.4 25.8 55.8 Job Shop 10 by 6 25.2 58.5 16.4

AIIE TRANSACTIONS, Volume 10, No. 3

Dow

nloa

ded

by [

RM

IT U

nive

rsity

] at

02:

38 2

3 Se

ptem

ber

2013

Page 9: Multiple Resource–Constrained Scheduling Using Branch and Bound

Summary and Conclusions

The algorithm described here would appear to offer con- siderable advantages over previous such procedures in both computation time and complexity of problems which can be optimally solved. As we mentioned previously, a number of approaches have been presented in the literature for solv- ing resource-constrained scheduling problems. Unfortunately, most of them do not present computational experience. For this reason, we focus upon only the Davis and Heidorn [6] and Johnson [8] algorithms to compare our computational results. The tests reported by Davis and Heidorn [6] were performed on 65 problems having as many as 30 activities and all of which included three resource classes. The proce- dure produced an optimal solution for 48 of the 65 test problems. Our b & b algorithm, on the other hand, was successful in obtaining optimal solutions for 177 of 180 test problems having 35 activities or less. Further, the three problems in this grouping which were not solved were all 35 activity projects having more than three resource classes.

The b & b algorithm tested by Johnson (81 was restricted to the solution of problems having only a single resource constraint. He was able to solve 100% of the 20 activity problems, 92.4% of the 30-activity problems, 72.2% of the the 40 activity problems and 91.7% of the 50-activity prob- lems tested. In contrast, our multiple-resource b & b algo- rithm was able to solve all 60 of the problems tested (up to 43 activities) where a single resource class was considered.

A disadvantage of the approach (which appears to be common to many such branch and bound-based procedures) has to do with the essentially unpredictable variance in computation time from problem to problem. Project-type problems of the same general size and complexity, for example, in the 43-activity problems produced variances in computation time on the order of 2.91 seconds to 27.82 minutes. While some efforts were made in the testing of the procedure to isolate possible problem factors accounting for such variance, no significant conlcusions were drawn. This is an important area for further researchone in which much additional progress is needed if the full powers of algorithms such as this are to be effectively realized in practice.

References

[ I ] Akinc, Umit and Khumawala, Basheer M., "An Efficient Branch and Bound Algorithm for the Capacitated Warehouse Location Problem," Management Science, 23, 6, 585-594 (February 1977).

[2] Ashour, Said, More, T. E. and Chiu, Kung-Ying, "An Implicit Enumeration Algorithm for the Nonpreemptive Shop Schedul- ing Problem,"AZZE Transactions, 3,1,62-72 (November 1974).

[3] Bennington, G. E. and McGinnis, L. F., "A Critique of Pro- ject Planning with Constrained Resources," North Carolina State University, Report No. 81 (May 1972).

[4] Dannenbring, David G. and Khumawala, Basheer M., "An Investigation of Branch and Bound Methods for Solving the Segregated Storage Problem," AZZE Transactions, 5, 3, 265- 274 (September 1973).

[5 ] Davis, Edward W., "Project Scheduling Under Resource Con- straints," AZZE Transactions, 5,4, 297-313 (December 1973).

Davis, Edward W. and Heidorn, George E., "An Algorithm for Optimal Project Scheduling Under Multiple Resource Con- straints," Management Science, 17, 12, B803-B816 (August 1971). Hastings, N. A. J., "On Resource Allocation in Project Net- works," Operational Research Quarterly, 23, 217-221 (June 1972). Johnson, T. J. R., "A Algorithm for the Resource Constrained Project Scheduling Problem," unpublished PhD Dissertation, Massachusetts Institute of Technology (1967). Katsoulas, Peter C. and Sadowski, Randall P., "A Branch and Bound Algorithm for Use in Resource Allocation," AZZE Transactions, 8, 2, 226-233 (June 1976). Khumawala, Basheer M., "An Efficient Branch and Bound Algorithm for the Warehouse Location Problem," Manage- ment Science, 28,12 (August 1972). Mason, A. Thomas and Moodie, Colin L., "A Branch and Bound Algorithm for Minimizing Cost in Project Scheduling," Management Science, 18,4 , B158-B173 (December 1971). Patterson, James H. and Huber, Walter D., "A Horizon- Varying, Zero-One Approach to Project Scheduling," Man- agement Science, 20,990-998 (February 1974). Pritsker, A. Alan B., Walters, Lawrence J., and Wolfe, Philip M., "Multiproject Scheduling with Limited Resources: A Zero-One Programming Approach," Management Science, 16, 93-108 (September 1969). Schrage, Linus, "Solving Resource-Constrained Network Prob lems by Implicit Enumeration-Non Preemptive Case," Opera- tions Research, 18, 263-278 (1970). Stinson, Joel P., "A Branch and Bound Algorithm for a General Class of Multiple Resource-Constrained Scheduling Problems," unpublished PhD Dissertation, University of North Carolina (1976). Zaloom, Victor, "On the Resource Constrained Project Scheduling Problem," AZZE Transactions, 3, 302-305 (Decem- ber 1971).

Dr. Joel P. Stinson IS Assistant Professor in the School of Manage- ment at Syracuse University. A former Project Engineer with NASA at Kennedy Space Center, Dr. Stinson received the PhD degree from the University of North Carolina, MS degrees in Space Technology and Systems Management from Florida Institute of Technology, and BSME from the University of Maine. He is a senior member of AIIE and belongs also to TIMS, AIDS, and Beta Gamma Sigma. Dr. Stinson's research activities currently are in the application of heuristics, implicit enumeration and simulation techniques to opera- tions management problems.

Dr. Edward W. Davis is Professor at the University of Virginia. His current research activities are in project management, production scheduling and inventory control, and the use of management science techniques in industry. Dr. Davis formerly was on the faculty at the University of N.C., Sloan School of Management at MIT, and the Harvard Business School. He received the PhD degree from Yale University, and MSIE and BME degrees from Georgia Tech. He is a Senior Member of AIIE and belongs also to TIMS, APICS, ORSA, and the Project Management Institute.

Dr. Basheer M. Khumawala is Professor at the University of Houston. Dr. Khumawala holds MS and PhD degrees from Purdue University and BS degree from St. Xavier's College. He is a member of TIMS and ORSA. Currently he is conducting research in the areas of heuristic programming, applications of implicit enumeration methods to logistics and operations management problems.

September 1978, AIIE TRANSACTIONS

Dow

nloa

ded

by [

RM

IT U

nive

rsity

] at

02:

38 2

3 Se

ptem

ber

2013