You are on page 1of 7
An algorithm for finding optimal or near optimal solutions to the production scheduling problem by George H. Brooks! Avaciate Professor of Tusa Engicering, Purdue Unizersity and Charles R. White Operations Resarch Analyst, Armour Company anstaact @ A procedure has been developed for nding optimal solutions tothe scheduling prob lem for a wide sarety of possible criteria and constrains. As most practical problems are much larger tham could be soled economically by this procedure, the idea of using the lower bound as a decision rade for deccloping a single near optimal solution was deseloped. The experiments on these deci applications ‘a In industrial situations the need to determine the se- quence in which jobs should be processed on machines often arises. It is hoped that the procedure presented here will help in finding sequences that are either better than a shop foreman ean make up by hand or, if only as good, y be generated more economically. Often the hand schedules may not anticipate difficulties, and few persons will try to improve a sequence once one has been decided upon. ‘The procedures to be shown here for finding se- quence are applicable to companies having small size business computers such as the IBM 1400 series data processing systems. The procedures and results estab- ished here are developed from an algorithm by Gifller nd Thompson (1). ‘The solution closely resembles a benoch and bound slgrithm developed independently ‘On a shop routing sheet the technological ordering of a job oF commodity is given. One job may be processed first m machine 1, second on machine 2, and third on machine 3. Another job may be processed first on machine 3, second on machine 2, and third on machine 1. In the solu- tion to be developed, all jobs are assumed to have the technologieal order specified completely, although they don weed to have the stine ordering. This ordering for "Now Professor of Industrial and Systems Engineering, Uni ‘versity of Florida, ® This presentation is based in part on research performed for a ‘doctoral dissertation by Charles Rt, White, under sponsorship by the Purdue Research Foundation and under the direction of Thomas L. Bartlett, u on rules showed that they might profitably be used in place of other rules for certain all commodities will be combined into a single array called the sequence array and denoted by S. In general this will be as follows: 1 has ba] where 4, isthe order in which the ith job will be processed ‘on the jth machine, For example, if given three jobs will be processed on four machines, and if each will be se- {quenced on four machines in the same order, then 234) 23 4) 234) This sequence array specifies that all three jobs will be processed first on machine 1, second on machine 2, third ‘on machine 3, and fourth on machine 4. All three jobs have the same ordering in order to simplify the ealeula- tion for illustration. The solution procedure would be exactly the same if different orderings were used for the different jobs. Now that the technological ordering is specified, the ‘process times for each job on each machine must be given. Standard time is a predetermined estimate of the time required to process, set up, and clean up a job on a given machine, and itis assumed that standard times are given as integer values, ‘The assumption is made that the se- quence of the jobs has no effect on the standard time. These times are specified into a single array called the facility array and denoted by F. In general this will be as follows: fa fines oh fu fs fat Sat ** fn to process the ith job on the jth example will be considered. In this following facility array is assumed: where fi is the ti machine, A simpl sample problem ¢ 689 4) 1396 4536) Forexample, job 1 on machine 1 takes 6 units of complete, and job 3 on machine 3 takes 3 units of By the cumulation of the rows of F the ordering and times ean be shown in one array ealled the problem array and denoted by P. In general this will be as follows: me to Ps Ds Po) pale tom Pat Pmt * + * Pa whereP,, is the minimui to complete the ith job on the jth machine, This definition implies that no overlap of operations is permitted on any job. In the example above the problem array appears as follows: 6 2% 2) Paj1 4 13 19) l4 9 12 18) The problem array is the one which will be used in the caleulation both by hand and in computer solutions. From this array the lower bound of the total time to process the NV’ jobs is easily found. In the example this ower bound is seen to be 27 units of time. The actual time ‘to process the jobs will be at least as great as this lower bound. If the processing time of job 2 on machine 3 is de- sired, one subtracts 4 from 13 to get 9, the desired time. On the other hand, if the order of job 2 on machine 3 is, desired, one notes that 13 is the third smallest number in JonworyFebrucry, 1965, row 2; henee, the third operation on job 2 is performed on machine 3. The assumption is made that no two jobs may be processed on a given machine at any common interval of time, In the example, the problem array indicates that, job 1 is tentatively scheduled for the time interval (0,6), job 2 is in (0, 1) and job 3 is given the interval (0, 4). By this assumption, this schedule is not possible. When more than one job is scheduled for the same machine at some ‘common interval of time, the jobs are said to be in eon- flict. In order to resolve this eonfliet the jobs must be placed in a sequence, Finding # procedure for obtaining, the best sequence overall jobs and machines. the central problem of scheduling and of this presentation, ‘One more factor must be considered before attempting to solve this problem. A method must be devised to evaluate a sequence to determine if it is better than an- ‘other sequence. The eriterion used to evaluate the se- ‘quences developed in this sample problem will be that of ‘minimizing the total time to complete all jobs on all ma- chines, Other eriteria will be developed later. Procedure to solve the somple problem ‘The first step to solve the sample problem is to set up a work array or linear array. A work or linear array is the array in which the solution is developed and appears as follows: A facility block is the entire set of columns under a given facility, For ease in following the solution, Figure 1 should be followed throughout all the steps. Step 0 in the solution is to enter the completion time of the first operation of each commodity in the work array, and set 7 equal to the smallest of these times. 1’ is the time prior to which the schedule is complete and fixed without confliets and the time at and after which eon- flicts may exist. As 1 is the smallest of these three, Tis equal to 1 Step 1. Check for conflicts between jobs ending at time T and those ending later than time 7’ within each facility block. ‘THE JOURNAL OF INDUSTRIAL ENGINEERING 35 Figure 1. The sluton of problem one y block, 1, commodity 2 ends at time 1 nn previously, this isin confliet with commodity at is, commodities 1, 2, and 3 lap on the same machine. ‘Step 2. Check all members of conflict for constraints. placed on any commodities, this step ean be omitted for this problem. This step will be explained more fully in the seeond example. Step 3. Find an estimate of the lower bound for each ther of the conflict. Resolve the conflict about the member having the least lower bound. ‘There are three members in the conflit that is to be re- solved. This conflict should be resolved to give the best chanee of arriving at an optimal or near optimal sequence over all jobs and machines. One way is to establish Jower bound in terms of total time for each member of the conflict. If this lower bound relates elosely to the eriteria, the least lower bound of the three would give basis for re- solving the conflict. By resolving the conflict about each member and then finding the minimum possible time to completion, such a lower bound is established. For example, by resolving the conflict under considera tion about commodity 1, C; is scheduled for the time in- terval (0, 6) while C: must take the interval (6, 7) and Cs has (6, 10). In the problem array all times which follow and C; on machine 1 must be inereased by 6, The prob- lem array becomes changed as follows: In the foregoing there are still conflicts; however, there is no conflict for the time interval (0, 1). Through- ‘out the solution there will be no conflict for jobs ending at any time less than 7, where T' is increased every iteration until the solution is obtained. The schedule is completely defined for jobs ending at times less than T in the solution. As the conflict is resolved about 6, the lower bound for 6 will be found. Note that the greatest time must be found on machine 4 as all orders are processed last on machine 4. ‘The minimum time is27; however, the lower bound ean be found only by observing that the three commodities on machine 4 do conflict. The arrival times of the three com- modities on machine 4 are 23 for commodity 1, 19 for commodity 2, and 18 for commodity 3. (These times are the completion times for machine 3.) By arranging these start times in ascending order, the minimum overall time ean be found. As these are all minimum possible arrival times, commodity 3 cannot be complete before calendar time 24 and commodity 2 cannot be completed before calendar time 24+6=30, and commodity 1 cannot be completed before 30-+4=34 units of time. This deter- ‘mination of bounds only applies if the minimum time to complete all jobs on a machine is the objective. The num- ber 34 is larger than 27, and this number will be used as the lower bound for conflict resolved about C1. If the commodities do not all have the same routing, the same procedure is followed to find # minimum completion time for each machine, then the greatest of these minimum times for each machine isthe lower bound. Repeating the same procedure by choosing the second member of the conflict set, the original problem array ‘would become the following: (7 15 2% 28) a 413 19) 5 10 13 19) Observe that in finding the lower bound the problem array is only temporarily updated. After the least lower bound is found, it will be permanently updated. The minimum time to process all jobs on machine four is 19+6+4=29, Hence, a lower bound about confliet mem- ber 2 is 29, Again for the third member of the conflict the problem array becomes: 10 18 27 31) 5 8 17 B (4 9 12 18) ‘The minimum time to complete commodity 2 is 24 if the overall time is to be minimized. The minimum time for ‘commodity 1 is 31 and not 244+4=28. Care should be oun a taken to avoid missing such idle time in finding lower {; bounds. The lower bound about the third member of the Ey ee conflict is 31. \10 15 18 24) ‘The procedure for finding a lower bound ean be sum- 36 ‘THE JOURNAL OF INDUSTRIAL ENGINEERING olone V1 * Not marized in the following way. On a given machine the earliest starting time for each commodity should be found and ordered from lowest to highest. Using this ordering, find the minimum time to complete all com- modities on that machine without overlap. The lower ound is the greatest of these times taken over all ma- chines. ‘As 29 is the least of the three lower bounds, the conflict should be resolved permanently about this member. ‘The possibility of also resolving the remaining eonflict should be considered. If only one solution is to be found, the immediate resolution of this remaining conflict is desirable; however, if an optimal solution is desired or iterative improvements are to be made in the solution, then it is more convenient for ealeulation to resolve only one member at a time, ‘Now that the resolution is made it is desirable to keep track of this resolution and the lower bounds. This ean be done most easily in a manual solution by representing the decision by node and the three members of the eonfliet by branches generating from the node as shown at the top of Figure 2. Referring to Figure 2, the numbers on the left hand side are referred to as levels. Across from level 1 the three lower bounds just ealeulated are shown. ( o/ \\\4 uM i q ge It takes a minimum of one decision to arrive at the nodes labeled 34, 29, 31; hence, the conflict level is the minimum number of decisions to arrive at a given node in the deci- sion tree. The decision tree is the entire diagram at the top of Figure 2, and it represents all the decisions made to arrive at a solution of the sample problem. The nodes with the square boxes represent final solutions and are called terminal nodes. The nodes with the letter z below them indicate that no better solution can be found by con- tinuing down this path. A path is. series of branches con- necting nodes of increasing conflict levels. Step 3 is now complete as there are no more contficts in- volving jobs ending at time T'=1 in the work array. Step 4. Find the next facility, if any, to process the commodity with value 7 and enter 7 plus the process time for this next operation in the corresponding box of the next facility. ‘The work array in Figure 1 indicates that commodity 2 ‘on machine 1 has a completion time of T=1. Machine 2 processes commodity 2 next, and it has a process time of 3 Units of time; thus 1+3=4 is entered into the work array under facility 2 and commodity 2. Note that this value of 4can be obtained directly from the problem array. Step 5. Test to see if T is the largest entry in the work array. Ifit is, the calculation goes to step 6. If it is not, 7 is set equal to the next higher integer, 1”, in the linear Jonvory February, 1965 ‘Figure 2, Decision nee and Gent chert fr problem ene, array and the ealculation returns to Step 1. In the sample calculation 7’=4 is the next higher integer, and T is set equal to 4. ‘As there is no conflict involving jobs ending at time T=4, the calculation returns to step 4 where the next, facility to process commodity 2 is found to be facility 3. Under facility 3 and commodity 2, the number 13 is entered. At this point the problem will iterate through the same steps until there is no higher integer 7’. When there is no higher integer 1’, a solution has been found with a total ‘equal to 34. In Figure 2 the decisions to arrive at this solution can be traced. Note that the lower bounds never decrease as the conflict level down a given path increases. If all lower bounds down all paths from a given node are sreater than the lower bound of this originating node, then the lower bound of the originating node ean be re- vised and set equal to the least of the lower bounds over all paths generating from this node. Hence, at conflict level 2 for the decision between 15 and 16, the lower bound ean be changed from 29 to 34. By a series of such revisions all paths in the decision tree are exhausted. The last solution found must be the optimal solution to the problem as the revised lower bounds at conflict level 1 will all be greater than or equal to this solution. Step 6. At the previous confliet level, all lower bounds should be compared to the solution. If any lower bound is less than the solution, return to Step 3. If all lower bounds ‘re greater than or equal to the last solution found, back up one level and repeat this step. When all levels are ex- hhausted the optimal solution has been found. ‘Again in Figure 2, the conflict level 4 has two branches. ‘One branch leads to the solution just found, and the other ‘THE JOURNAL OF INDUSTRIAL ENGINEERING 37 has a lower bound of 37. As 37 is greater than 34, no better solution ean lie down this path. Backing to conflict level 3, the conflict is between 24 and 23. The least lower bound down the path corresponding to 24 is 34, the solu- tion, and the least lower bound down the path correspond ing to 23 is 36 which is greater than 34. The lower bound labeled 34 is the same as 34 at conflict level 3. Following the reverse path again gives a lower bound for 15 equal to 34 and for 16 equal to 37. Again the lower bound at con- flict level 2 should be changed from 29 to 34. Upon revers- ing to conflict level 1, the lower bound corresponding to 5 is 82, As 82 is less than 34, a better solution might be found down this path. It is necessary to return to step 3 nd repeat the above iterations. When levels are ex- hhausted, the solution corresponding to T=32 must be the optimal solution to the problem. Had only a near op- timal solution been desired, then the ealeulation would have stopped at the solution corresponding to T=. Summary of the assumptions and computation algorithm In summary the following assumptions were required to solve this probl 1. Determin je times are used. For this value in practice teger values. By a suitable choice of time 2, The processing time is independent of th 3. Transportation and set cluded in the operation times. 4. Each order must have a specified technological ordering, but all orders do not need to follow the same ordering. 5, Lots eannot be split during the scheduling process. ‘This times are negligible or are in- ‘assumption ean be relaxed by renumbering of lots, however. 46. Only one job ean be processed on a given machine at a given time. No operations may be interrupted unless an entire new dul is generated. 8. Only one machine per type is allowed in this problem, 9, All jobs can be processed at any time during the scheduling period, 10, No overlap. (A given job may be processed on only one chine at « time.) Using these assumptions the following algorithm ean be used for problems similar to the one solved. ‘Step 0. Enter Completion Time of the fist operation of exch ‘commodity in the array, and set T equal to the smallest of these times? ‘Step 1. Within each facility block cheek for conflicts between jobs ending at time T and those ending later than time T.? Step. 2. Examine members of the confit for problem con- straints, If there are no constraints on the members go to step 3. Vor example, if job is in process and it isin the confit, resolve about this member, or if it ie a rush job, resolve about it. Set lower bounds of all other members of the eonfiet to infinity and directly to step 4 ‘Step 3. Find an estimate of the lower bound for each member of the conflict. Resolve the conflict about the member having the least lower bound. If «tie exists, break it by a random selection If wlower bound is greater than or equal to the best solution found, tet this lower bound to infinity. » Restated from Gifer’s algorithm (1). 38 ‘THE JOURNAL OF INDUSTRIAL ENGINEERING. Siep 4. For each T in the array find the next facility (if any) to process the commodity and enter T'plus the new job time in the corresponding box of the next job.* ‘Step 6. If Ti the largest entry in the array go to step 6; if not, find the integer 7” in the linear array that is next larger than T and set T'= 7". Go back to step 1. ‘Step 8. Return to the previous conflict level and compare lower is to solution. If any lower bound is less than the solution, return to step 8. Ifalllower bounds are greater than or equal to the solution, back up one level and repeat the step. If all levels are ‘exhausted, then the optimal solution is the last solution found.* Using the ideas just developed, it is apparent that other criteria ean be chosen for finding an optimal se- ‘quence. One such criterion is that of minimizing the late- ness over all orders. If 7, is the calendar time at which commodity i is completely processed and d, is the due date for commodity i, then commodity i is late if T.>d, and it is on time otherwise. Summing over all the eom- modities which have (7',—d,) >0 gives the total lateness. ‘The object is to minimize this total lateness. In symbols this ean be stated as: min © (4). 14 ‘The same data will be assumed for this problem as were used in the previous problem. The due date for commod- ity 2 will be 30 units of ealendar time, and commodity 3 «due date will be 20 units of calendar time. Asa constraint ‘commodity 2 will be designated asa rush order, and it will, always be processed before commodities 1 and 3. As a further constraint a fourth commodity will be introduced as work in process, and it has priority over all other com- modities. The fourth commodity is processed only on machine 1. The problem array for this problem is as fol- lows: (6 14 23 27) Pe {i 4 1B 19) jf 9 12 18) 2 2 2 3) Before solving the problem, it is necessary to establish « procedure to find lower bounds. From the problem array. the minimum possible completion time of order i ean be called t,. By resolving about each conflict member tem- porarily as before, a lower bound ean be found for each member of the confliet. In symbols this appears almost the same as the expression for the eriteria, x L= Z &-d). a, ‘This is easily done by storing sll conflict levels on tape when ‘using a computer. ‘Volume XVI * No. Figure 3. The soho ond dechion wee of problem two. The assumptions used are the same as before and the solution follows the algorithm precisely. ‘The solution of the problem is shown in Figure 3. The resolution of the conflicts ean be summarized as follows: 1. At confit 1, the resolution was around C because it ia work in process and precedes rush jobs. 2. At conflict 2, the resolution was a rush jo, At confit 3, lower bounds were caleulated for Cy and Cy. If the conflict were resolved shout C; then the earliest time C) could be completed would be 9+8+9+4+4=30 and C, would be 13+5 und C because itis a 4+3+6=27. This means that the lower bound is (27-20) =7. Likewise if the conflict is resolved about C,, then the lower bound: is (4-30) + (21-20) =5, Thus, it is resolved about Cy, 4. Confit 4 was resolved by the rush job, 5. Conflict 5 was resolved by the rush job. 46, The lateness of all orders not rushed was 11. At conflict level 3, the lower bound for C, was 7; therefore, this path must be investigated. 7. The lower bounds for conflict, are L:= (31-20) =11 and 1n= (89-80) + (27-20) =16, Neither of these is better than the present solution. By reversing, it is found that there are no other paths to follow; therefore, the optimal solution is the one eorre- sponding to a lateness of 11. ‘Two observations should be made. The first is that if lateness is not a problem for a given shop, then many of the lower bounds may equal zero early in the eomputa- tion. An alternate criterion such as minimizing set-up time would be useful in this ease. The second observation is the constraints tend to reduce the number of paths; therefore, for an optimal solution, eonstraints help in the solution rather than hinder it. For large problems in which only one solution is desired this is not usually the ease. ‘The time to arrive at a solution may become quite large if too many constraints are entered into a large problem. Computational experience Even for moderate size problems, the foregoing proce- dure is too long to do on existing computers. The proce- dure does allow one to come as close to the solution as time and cost permit. Instead of using the lower bounds to climinate solutions, it may be desirable to use the lower bound as decision rule to develop a single solution which, while it may not be optimal, will usually be at least a near-optimal solution. In developing this idea, several sample problems were run for both minimizing lateness and for minimizing total schedule time. The re- sults showed the initial solution for the minimizing late- ness rule usually involved less total time than the mini- mum time rule itself. As it did not appear profitable to Tobie 1 Comporaon of dspteh rts for vorow ie problems oar Tar Te Tae at] oer [at oF [ena | wa | aa 3u12 | 3008 4386 1735, (2867, 2038 | 2228 ‘866 ot ‘828 $92, sug | gee | aes | aus | dtr | Sout | deat | amr | 380 | ade | asad Bes | ey | ea | use | digs | Same | deer | ttao | ieee | ase | tase Sees | 8s | ine | toot | Some | ome | Sant | tous | tare | tags | tise Sor | Sago | Same | gots | Sago) See | Suz | "aoe | aoe | tat | tat Bel | 2098 | dam | oar | daar | Sect | fore | Ger | tans | tas | tai BS | dks | s6Soe | deer | Sue | ete | ftw | tse | teas | tae | ier Ham | ‘i | i9eet | 4386 | S060 | Sais | Stee | tw | ieee | i868 | ist igo | sasme | 1° | goto | Sea | fare |? | ioe | tet | tee | ASS | lator | aroeo | $242 | se | foot | rai | Seu | tose | tazz | 723 ssr7.a) 7108 960.6 995.8) 086.6) 6821 1ara.o) 1492.8 1098.2 ‘in this article, RAN refer to « random solution reheeting ‘ra overall time was computed for comparisons. Janvory-Febrry, 1965 Jblems was to mi nie th tal oun of late, [MIN refers to the solution by the algorithm de- SH. OP. is the solution by the shortest operation time decision rule, and is the solution by the longest remaining time decision rule. For each of these solutions ‘THE JOURNAL OF INDUSTRIAL ENGINEERING the total machine idle time and total 0 Tobie 2 Comparison of dpeteh rls for 5X10 site problems ‘Onc Panton Lato mH oF, mY | 3355 | Sas | 805 | 243 i Time Sut aaie9) 28 HLF Si Dew | suo] ia) a.) +, No Solution ‘See footnote on Table 1. study the minimum time decision rule further, a series of problems were solved using the minimum lateness rule only, Tables | and 2 show the relationship of this rule as compared to random solution, shortest operation time rule, and longest remaining time rule, Even though the ‘object was to minimize lateness, the machine idle time nd total time were considerably shorter for the mini- mum lateness rule than for the others. Using the assumption that the solutions are normally distributed (2), a series of 5X10 problems were solved i ‘The probability of ob- taining a solution by this rule as bad as the expected ran- dom one is less than .0001 while the probability of ob- taining a random solution as good as the expected solu- tion by the rule is less than .02, While those figures are only rough approximations, they do tend to show that the minimizing lateness rule produces very good se- quences on the first solution. ‘The computational time is about the same as for other rules, Other problems were tried using a more complex eri- terion which minimized a weighted combination of ma- chine idle time and lateness. The results were very favorable as the procedure did a better job on the first solution than the simpler eriteria, In practice all conflicts generated at one time should be resolved at that time in- stead of resolving about only one member of the eonfliet when only a single near-optimal solution is desired. Summary A procedure has been developed for finding optimal solutions for a wide variety of possible eriteria and con- straints, As most practical problems are much larger than could be solved economically by this procedure, the idea of using the lower bound as a decision rule for developing ‘a single near-optimal solution was developed. The experi- ments on these decision rules showed that they might profitably be used in place of other rules for certain appli- ations, 40 ‘THE JOURNAL OF INDUSTRIAL ENGINEERING tir | 1650.3) i 1533 1392.9 Too 1905.0, 4.4 | 722.8 “os =) m7) 265.1 | yruxn, B., axo Tuoursox, G, L., “Algorithms for Solving Production Scheduling Problems,” IBM Research Report RCS, June 18, 19% (2) Heuten, J., “Combinatorial, Probabilistic, and Statistical Aspects of an MX. Scheduling Problem,” Report 2 2540, AES Computing and Applied Mathematical Science, ‘New York University, New York, February 1, 1959. @) Lin, J., Money, K., Swenvey, D., axo Kann, C., “An Algorithm for the Traveling Salesman Problem,” Journal ‘of Operations: Research, November-December, 1963, pp. 972-999, (4) Wire, C. R., “An Algorithm for Finding Optimal or Near Optimal Solutions to the Production Scheduling Problem,” unpublished Ph.D, Dissertation, Purdue Universit Lafayette, Indiana, 1963 DISSATISFACTION Is An Engineer's Biggest Asset mn caf own Ac, Indi . 431 Frick Bide, Pad, Pa. 15209 — Sergio tt on. = ne a 30 in ‘Volume XVI * No. 1

You might also like