«^* LIBRARY OF THE MASSACHUSETTS INSTITUTE OF TECHNOLOGY fjiilC'-; 1 TABLE OF CONTENTS INTRODUCTION 1 THE BRANCH AND BOUND TECHNIQUE 3 FIXED ORDER ALGORITHM 6 Feasibility Tests 7 Determination of Bounds 7 Branching and Backtracking 9 Algorithm Termination 10 Flow Chart 10 Sample Problem 11 Decision Node Order 14 PARTITIONING ALGORITHM 16 Sample Problem 18 DECOMPOSITION 20 Combining Subproject Solutions 23 CONCLUSION 28 REFERENCES 29 679408 INTRODUCTION Decision CPM has been proposed by Crowston and Thompson [2] as a method for the simultaneous planning and scheduling of projects. In conventional CPM analysis, decisions are made as method for performing each task before the project decision CPM methods of allows the planner performing each job to the specific scheduled. is However, include all reasonable alternative to in the project graph, the alternatives possibly having different costs, different time durations, and different technological dependencies, and to then pick the best combination of job alternatives in light of cost and due-date considerations. In addition, interdependency between methods used to complete different tasks be included. Such alternative interdependencies requirement for consistency in the may may arise from a materials or designs used, for example. Crowston and Thompson show how Decision CPM networks can be given a mathematical representation using integer variables. Crowston also shows in [l] that all nondecision jobs (i.e., jobs for which there are no alternatives) may be eliminated from so that resulting "reduced network" Given a set of decisions, jobs in the reduced The optimal is the original network in a fashion equivalent in the following sense: the resulting early start times for all decision network will be the same as those in the original. solution to the reduced network is thus optimal to the original. - 1 - 1 • ". The reduced problem each iob S-- in the network is its formulated as follows: cost C.., its integer variable d.. which takes the value not. if it is The subscript early start time w... and an 1 if the job is "ij" indicates that a alternative for decision node A due i. associate with decision job DD date performed and is is the jth assumed with a premium of "r" dollars per time period of early completion and a penalty of "p" Then dollars per time period of late completion. m.inimize the sum of job cost Min Z subject = find D = { d. .} and due-date penalty or premium, that N k(i) 2 2 j=l 3=1 d.. C. J J + _ rw_ + pw^ - to: Interdepend ency Mutually exclusive: (a) k(i) S d,, j=l ^J = 1 1 = 1 N Alternative: as required i.e. (b) < - d 13 mn d.. = d mn d.. 13 Precedence - where S.. is M(l - d..) 13' + W..+ 13 t... , i3kl < - M="oo" '" w, an immediate predecessor of 13 kl, S, , kl Project Completion Wj, - Wp + Wp so as to - DD - 2 = Wp. Wp > is: where N the is number of decision nodes; of alternatives for decision node from the start successor S, ,; of the (i); predecessor and w^, is to is the time required may be [l] nondecreasing with completion time. may be . in [9] is For easily handled. associated with the completion It is required, however, that The algorithms described of finding the project cost possible completion date) Branch and is paper are concerned with finding the optimal solution(s) The problem immediate S.. to the start of its be described, that Bound, more general objective functions of particular tasks in the project , number the early start time of project finish. For the solution procedure example, rewards and penalties t., k(i) is the in Z be in this terms of Z. curve (minimum cost for each only slightly more difficult and discussed is . THE BRANCH AND BOUND TECHNIQUE The method of DCPM torial networks. of Branch and Bound has been adopted for Branch and Bound, otherwise known as Combina- Programming or Controlled Enumeration, is an intelligently structured search of the space of all possible solutions. is the solution based on two principal concepts: The procedure the use of a controlled enumeration technique for (implicitly) considering all potential solutions, and the elimination from explicit consideration of particular potential solutions which are known from bounding or feasibility considerations unacceptable. most For of a The technique has been applied which require survey of all to a variety of or mixed integer solutions. Branch and Bound applications, see [6] . to be problems, The method as applied search diagram of Figure The 1. problem to this is illustrated solution space by the tree partitioned into is first the mutually exclusive collectively exhaustive subspaces of solutions defined by the choice of one of the possible alternatives for decision node Then each node. If of these subspaces is further partitioned using another decision the process is continued through all decision nodes, every solution satisfying the mutually exclusive interdependency conditions obtained. In Figure each decision node there are k(i) 1, = 1, alternatives for node . . . , is can be easily visualized. i set of n decisions d is a n where k some bookkeeping a vector of decision node labels augmentation of p It for but the extension to the case where is illustrated, partial solution: p ^ ^n is where there are only two alternatives the case A — m I. in i corresponds va(m)j / » 1 label and a is some order. An to the choice of a job alternative for decision node a (n + be done to 1) con- in k iunction with p ^n J k Pn k' Pn+1 = , a(n+l)j- I- A completion: k' p!X of p k results tions such that a decision is from made a series of augmenta- for each node. 7 the labels have been chosen so that p„ ={d. augmentation of Pg = {d, , dg ; , } . If N . ; = 4, d„ In . } Figure is 1, an p. and p. are 3 two possible completions of p-. It IS important to note that a partial solution p or more paths from start to finish If so, a project completion date in the w is 4 - may define one "reduced network" of the project. defined for the partial solution. job Figure 1. Branch and Bound Solution Tree. Then w bound on the completion date which will result from a lower is any completion bound on the of p k Similarly, the quantity „ . n -J total job cost s, C " k = S C. . d.. ij jj is a lower which will result from any completion of p k . Then „k Z is a k+ „k. C + pwp = - krwp lower bound on the objective function which will be obtained from any completion of p . Suppose some value Z* Then solution found thus far. longer be considered. discarded. Similarly, "' the value is if Z* < Furthermore, J, if p n k , all p k n for the best complete is bounded and need no completions of p may be can be shown to be infeasible from alternative interdependency considerations, then may be Z Z it and all of its possible completions discarded. The Branch and Bound technique is a procedure for generating partial solutions by successive augmentations of the starting partial solution p checked to (no decisions). At each stage, the current partial solution determine whether discarded.along with partial solution is its it bounded or infeasible. is If so, it is is subspace of possible completions, and another considered. The process continues until the entire solution space has been explicitly or implicitly considered. feasible solution found at this point is The best optimal. FIXED ORDER ALGORITHM The algorithm described because the order a and fixed. in in this section is termed "fixed order" which decision nodes are processed The essential features is predetermined of the algorithm are presented in the - 6 - following order: feasibility tests, determination of bounds, branching and backtracking, and algorithm termination. A flow chart and sample problem solution follow, and then some considerations for choice of effective order a are discussed. Feasibility Tests The programmed version of this algorithm is equipped to handle pairwise interdependency constraints of the following types: d.. 13 V-.f1 representing the minimum total decision job cost which must be added to the objective function. Z Z min (C..)+ ij = SC. I + pwt, d.. I] F ^ 13 rw" - F 3 This step tightens the cost portion of the lower bound for a partial solution by incorporating the fact that a complete solution must include, at least, the cost of the cheapest job alternative for each decision node not yet considered. Since the algorithm works with reduced networks, the cost of nondecision jobs is assunned to be zero. For real projects, must be added to the objective function, but it effect upon the workings this cost cost and has no is fixed of the algorithm. The "completion time" portion of the bound is determined by a standard forward pass through the network defined by the partial solution. This is accomplished setting d.. = in the programmed version of the algorithm by for all decision jobs not selected by the partial solution, and then conducting the forward pass calculations over only those time constraints for which the positive. d.. for both predecessor and successor are The method does not require distinguishing between those decision jobs which have not been selected because they have not yet been considered for the current partial solution, and those rejected favor of another alternative job. The assumed all solutions. to have been selected by There are many cases bound for a partial solution p decisions which must be example, in Figure 2 it made in in artificial start and finish jobs are which the completion time portion of the could be strengthened by taking into account for decision nodes a(m), can be seen that a choice of - 8 - S, . m > n. For implies a lower bound on completion time of six days, even though no path exists through the network until a decision is does not recognize such cases; made for decision node 2. The algorithm artificial nondecision jobs inserted in the network to represent these and may be more complicated situations, however. 4 Decision node /\ Precedences Figure Decision job ( Artificial job ^ ) , 2 Branching and Backtracking An some "iteration" for this algorithm refers to the process of picking partial solution p for further elaboration, and then generating and evaluating each of the possible augmentations where i = Qf(n + The rule used 1). to p U d.., determine which j = 1, . . . k(i) of all active (feasible and unbounded) solutions to consider for the next interation is the following: Z from is choose the partial solution p the set of all active solutions which has the lowest value most nearly complete. This rule used for both "branching" (i.e., proceeding down the solution tree) and "backtracking" (i.e. partial solution is , proceeding back up the tree when the current completed or discarded). procedure amounts to picking the It can be seen that this most promising - 9 of the most recently generated active partial solutions and shall be referred to as a strategy. The LIFO strategy was adopted primarily because minimize computer storage requirements. by the maintenance of a pushdown y list, The strategy LIFO it tends to implemented is of solution labels k. , Algorithm Termination The algorithm will terminate when all possible solutions have been considered explicitly or implicitly. Since there are a finite number of solutions, termination is guaranteed. The partitioning procedure such that the entire space of potentially optinaal solutions the set of active partial and complete solutions. complete solutions which have the lowest Z value number of active solutions, the is When the Z* is = is spanned by number of equal to the algorithm terminates. Flow Chart The complete fixed order algorithm operates as follows after is specified: Step Step I: 2: Z* = 00 y = {1} p^ = (0). K = >(1); current solution If Z*' > I = Z*, go Z^ < Z Step 3: = If If Step Z^ 5 if a(n + 1) - 10 - * , to Step is . 6. go to Step 3 n = N. p if n < N; a . step Evaluate each of the augmentations p 4: = 3 1, k(i) by testing each a. feasible? b. Z^' < Z* U d. for: ? Save the solutions which pass these tests, and insert the new labels k' at the top of the list order of nondecreaslng Z in k' If . unbounded feasible solutions, go otherwise go Step Z* 5: and moving Go Step to Step 6; 7(1) at the end other elements up one position. to Step 7. Delete 6: all there are no Step 2. to revise 7 by putting = Z; 7(1) from 7 and move all other elements up one position. Step Finished? 7: If not, go to Step 2. Sample Problem Suppose the decision node order 0= the sample problem of Figure 3. (1) Z* = 00 y = {1} \ Po - (0) k = (3) i (4) pj = (dg Pi " ^^3 2^ 7 = {1, 3, 4, Then the solution current solution (2) 1; 7 is 1, 2. 5 is is specified as follows: p = 3 j) 2} Wp = 5 C^ = $15 "^F " ^ ^^ " Z* = 00 11 - ^° Z^ = -$5 ^^ '^ ^^^ cost time DD = 6 r = $20 p = $40 days Alternative Interdependency d„ Figure 3. . = d Sample Problem. 12 . . In the next iteration, to be infeasible. '2 = 2 Pi solutions {d„ i At the end of Step : d „) ^"^ . 4 = 5 C^ {d3 2} w^ = 6 c2=$0 {1.2} Z* = ^^3.1= ^4.1= C = $45 Z = $2 5 is = = ^^5 shown ^2= in ^2,2= ^5,2^ "^F Figure , c. zr = $40 ^^ Z) © 016,0.0) (7, $5, (5,$45.$25L 4.3] (4,2 $35H(5, (4,2^ I I $55, $45 4. (5.$15,-$5) (5, = oc (w ^4.1^ Z^ until the only active solution is P5 The solution tree $45, $25) (1^ 1, I (5, $65. $45) 2,1) (5, 5,1) are found 4: ^^3,1' ^4,1> The process continues (^3 i'^4 3) 1(5, $45. $25) B (2.2) $75. $55) 1(5, $45, $25) (QOptimal Figure 13 4, = infeasible = bounded $45) I (8. $0, (Cs) $80) Decision Node Order Preliminary experimentation with the fixed order algorithm showed problem was extremely sensitive that solution time for a given The major portion of decision nodes a. time seemed to be concentrated of this variability in solution was further observed It time was minimized by those decision node orderings nodes (i.e. solution , was on the critical path(s) ) were processed tree, and the tree was consequently more In order to obtain a measure With such of the potential criticality of decision the total slack for each job. which would occur if For the job for the chosen jobs unaltered. node order For each decision In the resulting network, calculate node choose the cheapest alternative. the decision first. effectively pruned. nodes, the following simple heuristic was devised: a job not chosen, the calculated slack is were performed, but with In some cases, a on the start times this implies negative slack. the basis of increasing This ordering will be referred to as "slack order. 2 which "critical" bounds were generated near the top of the solution w,., Choose in that solution those nodes for which the chosen decision job in the optimal orderings, strong that order time to prove optimality once the in the optimal solution had been found. to the " mm , , slack. 2 J This rule should perhaps be modified somewhat. Since the total slack calculated in this fashion is not particularly meaningful for those decision nodes not on the original critical path, it may be better to order these nodes so that they are grouped technologically. This gets more directly at the problem of ensuring that paths through the network are defined by successive decision nodes. The groups of nodes can be ordered on the basis of slack for the group. However, this is not a simple rule to apply for complex networks and has not been tested. - 14 - The algorithm was programmed in Fortran IV for an IBM 7094 computer and run under the time-sharing system The program was tested on variations decisions-per-node 15 (3 of MIT's project MAC. of two fifteen-node, three- possible solutions) problems. types, hereafter referred to as Type 1 and Type 2 The two problem problems, differed in the extent to which interconnections between opposite portions of the Type network existed. so that a number of 2 problems contain many such interconnections, competing critical paths were likely to develop. Typically, nine to eleven of the decision nodes in the problem critical for some partial solution. became Variety was provided to these problems by altering due dates, premiums, penalties, and times for precedence constraints (t ,^,). Solution times are reported in Table 1, and do not include the three to five seconds required for input-output and initialization. Results for the fixed order algorithm are shown for both slack order and technological order. tational efficiencies in Technological order offers some compu- determining^ k but is essentially a random order with regard to potential criticality, and results have been included primarily for the basis of comparison. In all cases, slack order has proven to be superior to technological order. It has been proposed that decision nodes involved in alternative interdependency constraints should be placed at the top of the decision tree so as to allow effective pruning on the basis of feasibility considerations. This, however, may interfere with a pure slack order, and results with a few test problems indicate that slack order should dominate. 15 Table 1. Comparison of Solution Times. « i \ ' other completions of p 1^ need not be evaluated. The partitioning algorithm incorporates this consideration as follows: Partition the decision nodes of a problem into two sets: Branch and Bound number of set; members and Q, the cheapest alternative set. k B to is Each time k obtained, test k ' fC "^ Pv, transfer those decision nodes in A simple version which in all . = 1 J Z k' k U Q, to Q which determine if wk wk = are critical into the set it Z C.'. More . be envisioned cases in in it B not, and remains there. been programmed = 0, i k Then Q, m = Q?(m), simply the set is = n+ of decisions N 1 and if w^ = r w^, r sophisticated versions of the partitioning algorithm can which the problem of determining Q, is solved for the which alternative interdependency constraints do affect the elements of Q. which If . i-J = with decision nodes Involved in alternative interdependency such that k B unbounded solution of the partitioning algorithm has constraints are placed in B. d. a "complete" Note that once a decision node enters B continue. Let b be the Solve the decision network defined by in B. the fixed order algorithm. p, B, the is In many cases this may not be difficult. For the case in possible to order decision nodes so that alternative inter- dependency constraints affect only successive nodes, the problem can be given a network interpretation and solved as a shortest-route problem. [l] The partitioning algorithm is equivalent to the fixed order algorithm with the following amendment: Step 2: K = 7 If Z^ > Z* if n < current solution (1); b; , go to Step 6. Step 2A - 17 if n = b; t is If p . Z^ < Z* and Step , 5 if go to Step 3 n = N. ' ' step 2A: Determine Q^; Step 2B: If wk k of p^ Determine nodes wk of k p, , andZ*^' Q*^, go to Step 5 with p^. go to Step 2C. If not, Step 2C: = p^ = p!^ in Q k' critical path for pIX which are critical . Place those into B. Go to Step 2. Sample Problem For the sample problem of Figure 3, decision nodes 3 and 4 are involved in alternative interdependency constraints, so and b As before, = 2. P2 = Pi= {dg ; J td3,2}; at the ^4 j} a= {3, 4, 1, 2, 5 end of two interations through Step w^ = 5 C^ =$45 Z^ = 7: $45 } D /^F'^'^^ (6,$0.$0) ^7, $5, $45)1(8. $0, $30) © ,(5, $45, $25) Figure 5. Solution times for the partitioning algorithm are also shown in Table In all cases, 1. order algorithm. the size of the to 11/15). to 50 the algorithm The gains are Branch and Bound For Type 2 slight for set, for N if grows 1 problems because to a large fraction of N b, (9/15 Although the major improvements problems which are already easily solved, the partitioning algorithm very large Type the fixed problems, improvements are of the order of 40 percent, for here b = 3 to 8. shown occur performs better than may offer the potential for solving b remains small. 19 problems with i : Solution time for fixed N and k(i) is seen be highly variable. to It has been found that most of this variability can be explained by the final value of b, which critical for some is the measure of the number The relation /nt solution. computer solution time, was fitted to the of = a,. nodes that become + a,b, where problems of Table 1 t is with the following results. = Int t statistic F(l. 8) = 0.72 + 0.47b (14.8) (3.02) R^ 218.2 n F(l, 8)q qj = 11.26 = 0.96 = 10 Although there was a significant relationship between these variables, is not possible to predict computation time since b only it becomes known during computation. DECOM POSITION A large project subprojects. into If so, it may simply be may be a collection of relatively independent possible to decompose the large networks smaller subnetworks, "solve" the subnetworks, and then subnetwork solutions together. in solution time, it may be less time than to solve one large one. number The idea decomposition principle for linear programming is 3 of small problems analogous to the and [4] and Fulkerson See, for example, Ch.22 and Ch.23 in Dantzig [3] - 20 related to the is decomposition technique described by Parikh and Jewell time-cost tradeoff models of Kelly the growth effect In view of the exponential faster to solve a fit in [7] [5] . for the in A subproject is a collection of decision nodes in a reduced network The which, taken together, "look like" a project. single starting point collection There can be no and a single finish. must have a inter dependency or precedence constraint between any node within the subproject and a node which is outside the subproject. successor of any number The starting point may, however, be the of jobs outside the subproject, and the finish may similarly be a predecessor of any number of jobs. The enclosed portions subprojects. (S', S") of The network is of the network redrawn as A in 6B of Figure 6 qualify as with artificial start jobs zero cost and time inserted, as well as artificial finish points (F', F"). In Figure 6 the following is true: (1) Every immediate successor variable (2) contained by the subproject boundary. Every immediate predecessor variable (3) is of a subproject start is of a subproject finish contained by the subproject boundary. For each subproject variable which is neither subproject start nor subproject finish, all immediate predecessors and successors are contained by the boundary. An algorithm related to the network reduction routine of developed to generate all legitimate subnetworks. 21 - [1] has been Figure 6. Decomposition of Project Networks 22 - Combining Subproject Solutions Due project network, in between subprojects and the rest of the to the interaction it is generally not possible to solve for a single solution each subproject and then simply to use these solutions overall project optimum. objective function. A to obtain an subproject does not have, in general, Rather, the objective function is its own concerned with the entire project completion date; and the effect of a subproject solution upon that date the network. is not known until decisions Consequently, some are made for other method of fitting subproject solutions together in order to obtain the overall project The approach is all other parts of optimum based upon the observation that the set is needed. of all feasible solutions to a subproject has all of the characteristics of a decision node. Associated with each solution is a cost and a performance time, and each solution has a predecessor and a successor. only one solution may be chosen from subproject solutions is the subproject -- i.e. In addition, , the set of subject to a mutually exclusive interdependency constraint. Since each solution to a subproject has the successor (e.g., S' and F'), it is same predecessor and clear that the project optimal solution will never contain a subproject solution which is both longer and more expensive than some other feasible solution to the same subproject. former subproject solution is "dominated" by the -23- latter. In the case The where expensive than a subproject solution is less the shorter solution is dominated C^ where C 11 - C^ + (w^ (max(p,r)) > C2 and w^, refer to the longer subproject solution, the shorter, and p and r are the overall project penalty and In necessary If all solution, if w^) - some shorter and 2 w— premium. order to obtain the optimal solution to the overall project, to to it is consider only all undominated solutions to each subproject. undominated solutions for a subproject have been obtained, the entire subproject can be replaced by a single decision node containing those In the resulting solutions as its job alternatives. master problem, there The master problem will be fewer decision nodes and fewer constraints. may In then be solved with any of the Branch and Bound routines discussed previous sections. Hopefully, the reduction in solution time for the master problem will be far greater than the time required undominated solutions feasibility of this to the subprojects. approach are: \indominated solutions, and (2) possible subproject solutions (1) The crucial issues as to the the degree to which the space of all is reduced by dominance considerations. modified partitioning algorithm. all xindominated solutions Instead of a single exists a Z*(t) for every subproject completion time Z* (t). , is a there now Initially, Z*(t) = t. Obtain a first complete solution with cost (f). generate the time required to generate all The algorithm for determining for all to Then, -24- C and completion time -» Z*(t) When C = Z*(t) C = +[max for all (p.r)](t' t > t' forallt<t' - t) same the next complete subproject solution is obtained, the tion is made for all Z*(t) t. is then equal to minimum calcula- of its current value and the new calculated value. This algorithm was tested on the which solution times are given number is to of feasible in Table same sample was found It 1. of problems for that only a small undominated solutions were obtained (25 or less). This be expected -- there can be no more undominated solutions than the number of days separating the More surprising is that undominated solutions time required the total amount of time required to generate all is in all to find the determination of all cheapest feasible solution and the shortest. cases less than three times the amount of undominated solutions will generally be order of magnitude of difficulty as that solution may be warranted. The of it with very number of complete solutions but these same solutions additional effort. little the power of the decomposition approach, two networks were chosen (shown schematically problem for Network C same and thus found by the undominated solution algorithm To demonstrate A, B, and at the partitioning algorithm, in searching for eventually determines to be bounded; may be undominated that the determining the optimal the optimal solution, is likely to generate a which The conclusion optimal solution(s). I A subprojects B and Figure 7). includes the undominated solutions The master problem the network in of Network (not a subproject) and the C. -25- II The master from subprojects includes the portion of undominated solutions from A 13 Nodes Specialized techniques for solving the master problem may be incorporated example it in a fully may automated decomposition algorithm. turn out that a subproject cheapest alternative set Q, in may always remain which case it is to a subproject are identical, the subproject may be used in Also, since the undominated solutions for all minimum time solution from each to strengthen the There are cases in the unnecessary to gener- ate all undominated solutions for that subproject. predecessor-successor relationships For w which portions bound master. in the of a project network do not satisfy the strict requirements for designation as a subproject, but in which overall project optimum will be found by treating these portions as Such will be the case when the precedence-successor subprojects. relationships which violate the subproject requirement are not on the critical path in the optimal solution. Or they may be on the critical path, but the undominated solutions generated in the subproject Similarly, an nated regardless of the existence of the critical links. alternative interdependency constraint no effect on the optimal solution, or generated by ignoring successor link sition may may proceed its existence. Also, since in cross the boundary but have upon the imdominated solutions The case of the noncritical predecessor- often be easily seen ahead of time, so that the with an optimal solution guaranteed. the size of entire projects resorted to may may be undomi- may be such decompo- In other cases that "illegal" decomposition may be an effort to find a good, and hopefully optimal, solution. it is true that all alternatives of a decision node need not have identical predecessor and successor relations, that algorithms could it is conceivable be developed for reducing a segment of a network -27- ' to a decision node even though the segment does not meet the conditions of an "independent subproject." CONCLUSION Experimentation with the algorithms discussed shows paper problem- solving time was strongly affected by the order that which the decision nodes were examined. by examining decision nodes Solution time Its efficiency results partial solution to a problem in was miniraized order of increasing "criticalness. in The partitioning algorithm gave the lowest times tested. in this from to see the fact that if it problem for each unbounded tests each the cheapest alternative for each decision node not included in the partial solution can be included without extending the project length. of the partial solution If this is the case, then all other need not be evaluated. The completions feasibility of the decomposition of large project networks was also examined. Independent subnetworks were defined within a large network and these were solved for all undominated solutions by an extension of the The set of Partitioning Algorithm. undominated solutions can then be regarded as a simple decision node within the large network and the resulting problem partitioning algorithm described above. solved by the The improvement time achieved by this decomposition was substantial. -28- is in solution REFERENCES [l] "Decision Network Planning Models", Crowston, W. G., Management Science Research Report No.lSB, Graduate School of Industrial Administration, [2] Crowston. W. B. Method , Carnegie-Mellon U. and G. L. Thompson, , 1968. "Decision A CPM: Simultaneous Planning, Scheduling, and Control of of Projects", Operations Research May- Vol.15, No. 3, , June 1967. [3] Dantzig, G. E., Linear Programming and Extensions , Princeton University Press, Princeton, N.J., 1963, Chapters 22, 23. [4] "A Network Flow Computation for Project Fulkerson, D. R., Management Science Activity Scheduling", [5] Vol. , 7, 1961. "Critical Path Planning and Scheduling: Kelley, J. E., Jr., Mathematical Basis", Operations Research, Vol.7, No. 3, 1961. [6] A [7] Operations Research, Vol. Survey", Parikh, S. C, Networks", [8] "Branch and Bound Methods: Lawler, E. L., and D. E. Wood, and W. , Pierce, J. F., and D. J. Hatfield, Combinatorial Programming", Design of of the 4, 1966. January 1965. "Production Sequencing by Operations Research and the Management Information Systems Technical Association No. "Decomposition of Project S. Jewell, Management Science 14, (J. F. Pierce, Editor), Pulp and Paper Industry, 1967, p. 177. -29- New York, REFERENCES [9] Wagner, M. H., (Cont.) "Solution of Decision S.M. Thesis, Massachusetts CPM Networks". Institute of Technology, -30- June 1968. f ...^,:^MM^ , MMSEfvlENTf Date Due t'P^ \r"^ 2 19810 JUL 12 1^85 :'i\ APR 3 1^90 2 Lib-26-67 -lO"^^ lllllliinllinliHiMi 3 TD60 D03 a7M b55 MIT LIBRARIES I 3 P>i| i|i|ip IIP !|iii||iii |i'ii||iiiii TDflD QD 3 fl7M m,s ^^-Iff^ % mm "-*7i