Implementing Line Balancing Heuristics in Spreadsheets

12
I N F O R M S Transactions on Education Vol. 13, No. 2, January 2013, pp. 114–125 ISSN 1532-0545 (online) http://dx.doi.org/10.1287/ited.1120.0096 © 2013 INFORMS Teaching Note Implementing Line Balancing Heuristics in Spreadsheets Howard J. Weiss Department of Marketing and Supply Chain Management, Fox School of Business, Temple University, Philadelphia, Pennsylvania 19122, [email protected] T wo previous papers in INFORMS Transactions on Education demonstrated an innovative Excel array formula approach that can be used for the handling of precedences in project management and assembly line bal- ancing models. In this paper I combine the array formula approach with a clever but simple precedence coding system to present an efficient spreadsheet for performing assembly line balancing using the heuristic method that is common in operations management textbooks. In addition, I demonstrate to students a perturbation method to handle ties in algorithms in Excel and also demonstrate the application of Excel’s Scenario Manager to line balancing. Key words : assembly line; balancing; heuristic; priority rule; Excel; array formula; scenarios History : Received: September 2011; accepted: March 2012. 1. Introduction Ragsdale and Brown (2004, p. 45) noted, that “line balancing problems appear in most introductory operations management (OM) textbooks.” In addi- tion, line balancing methods appear in general quanti- tative methods problem solving educational software packages such as WinQSB (Chang 2003) and POM- QM for Windows (Weiss 2006). Ragsdale and Brown (2004) created a nonlinear optimization model for assembly line balancing that could be solved using the evolutionary search engine in Premium Solver for Education. However, most, if not all, operations man- agement textbooks do not include any optimization models but instead present a heuristic method that relies on priority rules. In this paper I use Ragsdale’s (2003) innovative Excel array formula approach for precedence handling and some clever but simple precedence coding in order to implement in Excel the heuristic that appears in the textbooks. The major advantages of the formulation in this paper compared with Ragsdale and Brown (2004) are that this method matches the method presented in the textbooks, the method does not require knowledge of mathematical programming, and the method solves the problem as soon as the data is entered as opposed to using Excel’s evolutionary search engine as proposed by Ragsdale and Brown (2004). The evolutionary search engine is standard in Solver in Excel 2010 but was not in ver- sions prior to that. Although it is now standard it was very time consuming because it required thousands of subproblems to be solved for Ragsdale and Brown’s (2004) small example. Basically, there is only one heuristic that is pre- sented in the textbooks, but there are different pri- ority rules that can be used within the heuristic. I outline the heuristic in §2. Table 1 displays the priority rules included in the Meredith and Shafer (2003) and Krajewski et al. (2013) textbooks refer- enced by Ragsdale and Brown (2004), in the Jacobs and Chase (2011) textbook and also in the textbooks examined by Meile (2005) in his article titled Selecting the Right OM Textbook for the Right Course. The table also indicates that both the WinQSB and POM-QM for Windows software packages each contain all five rules. The model presented in this paper could be used in different ways in the classroom. Because I teach an operations course, I do not ask the students to build the model but rather use it as a template for solving problems with the same number of tasks as the tem- plate. I do point out to the students the inclusion of Excel’s array formulas in the model and the use of Excel’s Scenario Manager. 114 Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

Transcript of Implementing Line Balancing Heuristics in Spreadsheets

Page 1: Implementing Line Balancing Heuristics in Spreadsheets

I N F O R M STransactions on Education

Vol. 13, No. 2, January 2013, pp. 114–125ISSN 1532-0545 (online)

http://dx.doi.org/10.1287/ited.1120.0096© 2013 INFORMS

Teaching Note

Implementing Line BalancingHeuristics in Spreadsheets

Howard J. WeissDepartment of Marketing and Supply Chain Management, Fox School of Business, Temple University,

Philadelphia, Pennsylvania 19122, [email protected]

Two previous papers in INFORMS Transactions on Education demonstrated an innovative Excel array formulaapproach that can be used for the handling of precedences in project management and assembly line bal-

ancing models. In this paper I combine the array formula approach with a clever but simple precedence codingsystem to present an efficient spreadsheet for performing assembly line balancing using the heuristic methodthat is common in operations management textbooks. In addition, I demonstrate to students a perturbationmethod to handle ties in algorithms in Excel and also demonstrate the application of Excel’s Scenario Managerto line balancing.

Key words : assembly line; balancing; heuristic; priority rule; Excel; array formula; scenariosHistory : Received: September 2011; accepted: March 2012.

1. IntroductionRagsdale and Brown (2004, p. 45) noted, that “linebalancing problems appear in most introductoryoperations management (OM) textbooks.” In addi-tion, line balancing methods appear in general quanti-tative methods problem solving educational softwarepackages such as WinQSB (Chang 2003) and POM-QM for Windows (Weiss 2006). Ragsdale and Brown(2004) created a nonlinear optimization model forassembly line balancing that could be solved usingthe evolutionary search engine in Premium Solver forEducation. However, most, if not all, operations man-agement textbooks do not include any optimizationmodels but instead present a heuristic method thatrelies on priority rules. In this paper I use Ragsdale’s(2003) innovative Excel array formula approach forprecedence handling and some clever but simpleprecedence coding in order to implement in Excelthe heuristic that appears in the textbooks. The majoradvantages of the formulation in this paper comparedwith Ragsdale and Brown (2004) are that this methodmatches the method presented in the textbooks, themethod does not require knowledge of mathematicalprogramming, and the method solves the problem assoon as the data is entered as opposed to using Excel’sevolutionary search engine as proposed by Ragsdale

and Brown (2004). The evolutionary search engine isstandard in Solver in Excel 2010 but was not in ver-sions prior to that. Although it is now standard it wasvery time consuming because it required thousands ofsubproblems to be solved for Ragsdale and Brown’s(2004) small example.

Basically, there is only one heuristic that is pre-sented in the textbooks, but there are different pri-ority rules that can be used within the heuristic.I outline the heuristic in §2. Table 1 displays thepriority rules included in the Meredith and Shafer(2003) and Krajewski et al. (2013) textbooks refer-enced by Ragsdale and Brown (2004), in the Jacobsand Chase (2011) textbook and also in the textbooksexamined by Meile (2005) in his article titled Selectingthe Right OM Textbook for the Right Course. The tablealso indicates that both the WinQSB and POM-QM forWindows software packages each contain all five rules.

The model presented in this paper could be usedin different ways in the classroom. Because I teach anoperations course, I do not ask the students to buildthe model but rather use it as a template for solvingproblems with the same number of tasks as the tem-plate. I do point out to the students the inclusion ofExcel’s array formulas in the model and the use ofExcel’s Scenario Manager.

114

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 2: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in SpreadsheetsINFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS 115

Table 1 Priority Rules for Assembly Line Balancing Displayed inOperations Management Textbooks and Software Packages

Longest Most Ranked Shortest Fewestoperation following positional operation following

time tasks weight time tasks

Davis and Heineke � �(2004), 5e

Heizer and Render � � � � �(2011), 10e

Jacobs and Chase � �(2011), 13e

Krajewski et al. � �(2013), 10e

Meredith and Shafer �(2003), 3e

Reid and Sanders �(2007), 3e

Stevenson � �(2007), 9e

WinQSB, 2 � � � � �POM-QM, 3 � � � � �

In the next section I develop the spreadsheet usingthe longest operation time rule. As can be seen inTable 1, this is the most common rule among thetextbooks and also the first rule that is discussed inmost textbooks. In the following section I demon-strate that although ties may be easy to handlewhen solving a problem by hand they need to beconsidered when developing Excel spreadsheets ordifficulties will ensue. Following that I extend theideas of the longest operation time rule to presentthe easy changes for using the four other commonpriority rules—most following tasks, ranked posi-tional weight, shortest processing time, least follow-ing tasks. In addition, I demonstrate the value ofExcel’s Scenario Manager to students for creating asummary of the results obtained using the five differ-ent methods.

2. Construction and Use of theSpreadsheet Model

I use the same example as originated in Meredith andShafer (2003) and used by Ragsdale and Brown (2004).Figure 1 has been copied from Ragsdale and Brown

Figure 1 Example Line Balancing Problem

gfec

d

a

b0.37

0.200.21

0.18

0.19

0.39 0.36

Table 2 The Balancing Process

Remaining Task withunassigned Feasible longest

Task time time remaining operationTask (in minutes) (in minutes) tasks time

A AStation 1 A 0�20 0.20 D D

D 0�18 0.02 idle NoneStation 2 B 0�37 0.03 idle NoneStation 3 C 0�21 0.19 E E

E 0�19 0.00 idle NoneStation 4 F 0�39 0.01 idle NoneStation 5 G 0�36 0.04 idle Finished

(2004). The times displayed are in minutes and thecycle time is given as 0.4 minutes.

Each iteration of the heuristic executes the follow-ing steps.Step 1. Determine how many tasks are feasible.

That is, identify and count those tasks that(i) have had their precedences met,(ii) have not yet been scheduled, and(iii) do not require more time than the time

remaining at the station.Step 2. If there does not exist a task that is feasible

then(i) begin a new station (increment the station

count), and(ii) allocate a complete cycle time to that station.

Step 3. Schedule the task that best satisfies the pri-ority rule.Observe that one task is assigned to a station ateach iteration. Therefore, the number of iterations willequal the number of tasks.

In Table 2 we demonstrate the table that wouldbe created by following these steps using the longestoperation time rule. Table 2 is similar to the style ofExhibit 6A.11 in Jacobs and Chase (2011) or Exhibit12.12 in Davis and Heineke (2004) except that I haveadded a row above Station 1 to demonstrate that atthe beginning of this example only task A is feasible.

This example, which we have taken from Ragsdaleand Brown (2004), is somewhat uninteresting becausethere is never more than one feasible task at each step.Our next example, with ties, will be more interesting.

2.1. Setting Up the SpreadsheetI provide the workbook file ALB.heuristics.xls asa supplement to this paper. The first worksheet,“Longest Operation Time (LOT),” appears in Figure 2.The cells shaded in green contain the original data asthey would appear in a typical OM textbook. To theleft of this table of data, in column A, the times thatappear in column C have been duplicated becauseI will need to perform an Excel VLOOKUP based onthe times, and the lookup values must be in the firstcolumn of the table.

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 3: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in Spreadsheets116 INFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS

Figure 2 Spreadsheet Model for Longest Operation Time Rule

The iteration section of the spreadsheet has two sec-tions. The top of the iteration section (rows 17 to 24)is used to keep track of which tasks are ready forscheduling. One of the more difficult aspects of creat-ing spreadsheets for line balancing (and project man-agement) is dealing with the precedence constraints.To do this I am going to use a code for the status ofeach task during each step of the process. In imple-menting the heuristic for this problem, typically onekeeps track of which precedences have been met forany task. However, a simple observation is that it isnot necessary to know the specific precedences thathave been met but simply the number of precedencesthat have been met! For example, task E has twoprecedences so when two precedences for this taskhave been met, task E is ready to be scheduled. The

codes for the activities that are used in the spread-sheet are displayed in row 16 of the spreadsheet andin more detail in Table 3.

Thus, in order to keep track of the number of unmetprecedences I need to begin by determining the num-ber of precedences that exist for each task and thensubtract one each time that one of the precedencesfor this task is met. The formulas to be used are inTable 4.

Table 3 Task Codes

Code Meaning

−1 The task has already been scheduled0 The task is ready to be scheduledn > 0 The number of precedences remaining for this task

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 4: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in SpreadsheetsINFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS 117

Table 4 Maintaining the Task Codes

Cell Formula Copied to

D18 =SUM(IF(ISERR(SEARCH($B$18:$B$24,$D6)),0,1)) D19:D24(Press [Ctrl] + [Shift] + [Enter] to enter.)

E18 =IF(ISERR(SEARCH(D$32,$D6&$B6)),D18,D18−1) E18:J24

Table 5 Computation of the Initial Number of Precedences for Task E

Array value x SEARCH (x, D10) ISERR( ) IF( )

B18 #Value! TRUE 0B19 #Value! TRUE 0B20 5 FALSE 1B21 7 FALSE 1B22 #Value! TRUE 0B23 #Value! TRUE 0B24 #Value! TRUE 0

Sum = 2

The original count of precedences for each taskis given in cells D18:D24. (Because this is basedon the initial data I have color coded the cells inorange). The formula uses Excel’s array formula pre-viously described by Ragsdale (2003) and also usedin Ragsdale and Brown (2004). Table 5 displays anexample of the initial precedence count for task E thatis displayed in cell D22:

Cell D22 = “=SUM(IF(ISERR(SEARCH($B$18:$B$24,$D10)),0,1))”.

Notice that the formula in cells D18:D24 uses theSEARCH function rather than Excel’s FIND func-tion to avoid the upper/lower case problems notedin Ragsdale (2003) and repeated in Ragsdale andBrown (2004).

The formulas in the following columns (E18:J24)will subtract one from the precedence count if themost recent task scheduled (row 32) is one of theprecedences for this task. Also, I have includedthe current task name in the search so that if this isthe task that is scheduled the number of precedenceswill drop by 1 from 0 to −1 and the task will not bescheduled a second time.

This array formula approach is different from theone in Ragsdale and Brown (2004). They used anarray formula to create constraints that ensured thatthe station number of every task was at least ashigh as the station number for each of that task’spredecessors.

2.2. IteratingThe assembly line balancing heuristic can now be per-formed. The formulas to be used are in Table 6. Theiteration steps are performed as follows in the spread-sheet. Note that some of the copying begins in column

Table 6 Determining If a Task Is Available and Will Fit in theRemaining Time

Cell Formula Copied to

D27 =C4E27 =D29−D31 F27:J27D28 =SUM(IF($C$6:$C$12<=D27,1,0) E28:J28

∗IF(D18:D24=0,1,0))(Press [Ctrl7+ 6Shift7+ 6Enter] to enter.)

D29 =IF(D28>=1,D27,$C$4) E29:J29D30 1E30 =IF(E28>=1,D30,D30+1) F30:J30D31 =MAX(IF($C$6:$C$12<=D29,1,0) E31:J31

∗IF(D18:D24=0,$A$6:$A$12,0))(Press [Ctrl7+ 6Shift7+ 6Enter] to enter.)

D32 =VLOOKUP(D31,$A$6:$B$12,2,FALSE) E32:J32

D but that for the time available (row 27) and the sta-tion number (row 30) the copying begins in columnE because column D contains initial values, which Ihave indicated by color coding them orange.

Row 27. Time available—at the beginning of theproblem, the time available (D27) is the cycle time asgiven in cell C4. Because this is initial data it is colorcoded as orange. For all other iterations (E27:J27) thetime available is the time that was previously avail-able minus the time for the task that was just placedinto the balance during the previous iteration one col-umn to the left.

Row 28. We need to determine if any task is feasi-ble. A task is feasible if it meets the following threeconditions:

Condition 1. The task has not been performedalready (code >−1).

Condition 2. The task has had its precedences met(code = 0).

Condition 3. The task will fit in the remain-ing time.

Note that the way the activities are coded meansthat if condition 2 is met then condition 1 is metbecause the code will be 0 which is greater than −1.

The approach I have taken is to count the numberof tasks that meet the requirements. Obviously, if theresults are 0 then a new station needs to be added,otherwise one of the ready tasks can be included intothe station. The formula for this is the array formula.

=SUM(IF($C$6:$C$12<=D27,1,0)∗IF(D18:D24=0,1,0)).

The first IF statement checks that the task will fitinto the remaining time, and the second IF statementtests that the code for the task is 0. The multipli-cation performs an AND operation. Note that an IFstatement is used inside the SUM because the ANDstatement does not function properly inside the arrayfunction. The product of the two IF statements will

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 5: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in Spreadsheets118 INFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS

Table 7 Computation of the Number of Tasks That Fit in theRemaining Time

Array Arrayvalue IF($C$6:$C$12<=E27,1,0) value IF(E18:E24=0,1,0) Product

C6 1 D18 0 0C7 0 D19 1 0C8 0 D20 1 0C9 1 D21 1 1C10 1 D22 0 0C11 0 D23 0 0C12 0 D24 0 0

Sum = 1

be 1 if and only if both conditions are met. The SUMfunction is used to count the number of tasks thatmeet the requirements at each iteration. Table 7 dis-plays an example of the count of the tasks that will fitin the remaining 0.20 minutes after task A has beenscheduled:

Cell E28 = “=SUM(IF($C$6:$C$12<=E27,1,0)∗IF(E18:E24=0,1,0))”0

Rows 29 and 30. If one or more tasks fit into theallotted time then simply continue. If not, another sta-tion needs to be added (increment the station num-ber by one) and the available station time needs tobe reset to the cycle time. The following statementsaccomplish this.

Row 29. =IF(D28>=1,D27,$C$4) where D28 is thenumber of tasks that are ready, D27 is the time avail-able and C4 is the cycle time.

Row 30. Cell D30 is set to 1 because this is the start-ing station number, again colored orange. All othercells in the row are based on the following formula:

=IF(E28>=1,D30,D30+1), where E28 is the numberof tasks that fit, and D30 is the current station number.

Row 31. At this point the task to schedule needs tobe determined. The formula for row 31 is conceptu-ally the same as for the formula for row 27. The dif-ference is that the time used to test whether the taskwill fit is now given by the adjusted time in row 28rather than the original time in row 26. In addition,the task code should be returned rather than a countof the number of available activities. The MAX func-tion selects the task that has the longest operationtime:

=MAX(IF($C$6:$C$12<=E29,1,0)∗IF(E18:E24=0,$A$6:$A$12,0)).

Table 8 displays an example of determining thelongest time that will fit into the remaining time.

Row 32. A table lookup is used to find the nameand time of the task with the given code:

=VLOOKUP(D31,$A$6:$C$12,2,FALSE)0

Table 8 Identification of the Longest Operation Time That Fits in theRemaining Time

Array IF($C$6:$C$12 Array IF(D18:D24=0,value <=E29,1,0) value $A$6:$A$12,0) Product

C6 1 E18 0 0C7 0 E19 0037 0C8 0 E20 0021 0C9 1 E21 0018 0.18C10 1 E22 0 0C11 0 E23 0 0C12 0 E24 0 0

Max = 0018

This formula finds the first task that takes thatamount of time. This will cause problems in case ofties, which I will discuss in the next section.

Finally the formula for the task completion table isdetermined as follows. The code in cell E18 is

=IF(ISERR(SEARCH(D$32,$D6&$B6)),D18,D18−1)0

The number of unmet precedences is reduced byone if one of its precedences was completed or if thetask itself was completed. The results of the iterationscan be seen by looking at the columns D through Jone column at a time from left to right.

2.3. Summary ResultsMost of the textbooks present summary results forany rule. The summary results are displayed inrows 36 to 44 of the spreadsheet for our example inFigure 2. The formulas are very straightforward andare displayed in Table 4.

In addition, some textbooks, such as Heizer andRender (2011) reduce the cycle time that is used whenthere is idle time at every station. The minimumidle time is given by the minimum of the availabletimes in row 27. This could easily be added to thespreadsheet. In this particular example, the minimumtime is 0 at station 3 where tasks C and E are bothscheduled.

2.4. Adding or Deleting ActivitiesThis example has seven activities but it is verystraightforward to insert or delete activities. In Fig-ure 3 we display an example of adding three rows. Toadd activities do the following:

1. Select any row after the first row in the tableof data and insert however many additional rowsare needed. Note that several formulas include refer-ences to the times in $C$6.$C$12. Inserting a task aftertask A will correctly modify these formulas beyond$C$12 or to $C$6.$C$15 in our example of addingthree rows. Inserting a row before row A will notmodify these formulas and therefore not include allof the tasks.

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 6: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in SpreadsheetsINFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS 119

Table 9 Computation of Summary Statistics

Result Formula Explanation

Cycle time =C4 This is given rather than computedTime needed per cycle =SUM(C6:C12) This is the sum of the task timesMin (theoretical) number of stations =CEILING(C13/E35,1) This is the amount of total task time divided by the cycle time and

rounded up to the nearest integerActual number of stations =MAX(D29:J29) This is the maximum (or last) station numberTime allocated per cycle =E39∗E35 This is the number of stations multiplied by the cycle timeIdle time per cycle =E40−E36 This is the time allotted minus the time requiredEfficiency =E36/E40 This is the ratio of the time required and the time allottedBalance delay =1−E42 This is 1 minus the efficiency

Enter the tasks, times, and predecessors for the newtasks and copy the lookup criterion from the cellabove in column A to the new rows as I have done inrows 8, 9, and 10.

2. Select the corresponding rows in the iterationstable and right click and insert the same number ofrows as in the table above. Copy the row above the

Figure 3 Inserting Tasks into the Model

new rows in the iteration table as I have done in rows23, 24, and 25.

3. In the iteration table, insert three columns priorto the last column as shaded in pink in Figure 3. Copythe column on the left of the inserted column, col-umn G in the example, all the way to the last iterationon the right. The columns need to be inserted into the

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 7: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in Spreadsheets120 INFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS

iteration rows rather than appended to the end of theiteration rows in order for the formulas in the resultssummary to be updated properly.

Deleting activities is even easier. Simply delete therows in each of the two tables that correspond to theactivities and delete the extra iterations on the rightof the iterations section.

3. Ties in Excel—PertubationsIf there are two activities with the same time then themodel will fail because of Excel’s table lookup. This isdisplayed by the example in the spreadsheet named“LOT—tie” shown in Figure 4. The time for task Chas been changed to 0.18, which is identical to thetime for task D. The table lookup fails as can be seenby the highlighted cells in row 32 in Figure 4.

To preclude a tie from happening I need to perturbthe lookup criterion for each task as displayed in thespreadsheet titled “LOT—tie prevention” and shownin Figure 5. The need to perturb solution methodsin order to get them to work has existed long beforeExcel was used. With respect to linear program-ming, Gass (1993, p. 335) noted, “In 1952, we knewthat perturbing the linear constraints would counter-act degeneracy.” The perturbation method suggestedthen was to modify numbers by a very small amountso as to not allow for any ties while not significantly

Figure 4 Spreadsheet Model for Modified Example with Tie

changing the problem because the perturbation is tobe very, very small. In a similar fashion, I have addeda tie prevention column, E, with unique amounts thatare much smaller than the task times in order to per-turb the lookup criterion in column A without mak-ing a major change in the task times being examined.The prevention codes need to be much smaller thanthe task times because otherwise the prevention codesmight create ties that did not exist initially. In ourexample the lookup criteria for tasks C and D will begiven as 0.17997 and 0.17996 as can be seen in row 31of the spreadsheet where we use the perturbed timerather than the actual time to identify the activity tobe scheduled. Each of these two times is virtually the0.18 it is supposed to be but the difference betweenthe two values is enough for Excel’s VLOOKUP func-tion to distinguish between them and break the tie. Itis important to subtract the perturbation factor ratherthan add the perturbation factor. If we add the factorthen if the time remaining is equal to the task time themethod will think that the task cannot fit because it istoo long. For example, if task E takes 0.19 minutes, itsperturbation factor is 0.00005 and the time remainingin the station is 0.19, then if we add the perturba-tion factor the method will think that task E cannotfit because it will compare 0.19 to 0.19005. A byprod-uct of subtracting the perturbation factors is that any

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 8: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in SpreadsheetsINFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS 121

Figure 5 Spreadsheet Model for Modified Example with Tie

ties will be resolved in alphabetical order of the tasknames if the perturbation factors are increasing.

Notice that for finding the next task I look up theperturbed activity time rather than the actual activitytime as displayed in row 31. This means that I needto add a row to look up the actual activity time inorder to keep track of the actual time available at thestation. This appears in row 33.

4. Multiple Priority RulesIn the first two examples the longest operation timerule has been used to decide which task to place inthe station when multiple tasks are ready and will fit.There are other rules that could be used and the orig-inal spreadsheet can easily be modified to allow forselecting from among the five rules that are presentedin §1 of this paper.

4.1. Other Priority RulesIn the spreadsheet titled “Multiple Priority Rules”and displayed in Figure 6 I have modified the datasection of the spreadsheet to create a table that incor-porates the priority measures for each job for each ofthe priority rules. Note that task C has been set to itsoriginal time of 0.21.

Column G is simply the processing time in col-umn C. Column H contains the number of following

tasks and column I contains the ranked positionalweight (sum of the weights of the task and all of itsfollowers). In §5 of this paper we demonstrate how tocompute these two values using Excel. Columns J andK contain the inverse of columns G and H becausethe rule is reversed from longest to shortest or mostto least.

A data input cell, F3, has been added to selectwhich method should be used, and the methods havebeen numbered 1 through 5 in cells G4 through K4.

Most of the cells are identical to the previousspreadsheet. The only change is in the lookup crite-rion used for each cell. Thus, formerly I had in cellsA6:A12 the task time minus the perturbation factor,for example,

A6=C6−E6�

To vary the rule that is used, I used a table lookupto find the criterion from the new table that has beencreated on the right of the data. The formula for A6 is

=OFFSET(F6,0,$F$3)−E6�

To see results from different rules simply changecell F3 from 1 to 2 to 3 to 4 to 5.

4.2. Using Excel’s Scenario ManagerOnce I have implemented all of the decision rules intothe spreadsheet it is easy and useful to use Excel’s

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 9: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in Spreadsheets122 INFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS

Figure 6 Spreadsheet Model for Multiple Priority Rules

Scenario Manager to compare all of the results in onespreadsheet. The Scenario Manager can be found onthe data tab under the what-if analysis dropdown asshown in Figure 7.

Scenarios allow for easy changes of values in thecells in the spreadsheet. The Scenario Manager offersthe option to add scenarios and we have added onescenario for each of the five balancing rules as dis-played in Figure 8.

For each of the priority rules we have indicated thatthe cell we wish to change is cell F3, the cell with thecode for which priority rule to use as displayed inFigure 9.

For the value we simply put the code for the rule,1 through 5, into cell F3 as displayed in Figure 10.

Figure 7 What-If Analysis

Figure 8 The Scenario Manager

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 10: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in SpreadsheetsINFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS 123

Figure 9 Selecting the Cell(s) to be Changed for the Scenario

Figure 10 Changing the Rule That is Used

Finally, from the Scenario Manager window (seeFigure 8) we select the summary button and arepresented with a summary of the results for allfive methods on one spreadsheet as displayed inFigure 11. Column A was copied from the originalspreadsheet. It is not created by Scenario Manager. Itcan be easily seen from the summary table that forthis particular example all rules lead to the same num-ber of stations.

Figure 11 Automated Summary of Results Using Scenario Manager

5. Technical DetailsTwo technical details should be addressed. The firstaddresses the names of the tasks and the secondexplains the computation of the number of followingtasks and the ranked positional weight.

5.1. Restriction on NamesOur spreadsheets have the same drawback asRagsdale and Brown’s (2004) in that one must be care-ful with naming the tasks in order to ensure that thename of one task is not wholly contained in the nameof another. For example, if one task is named A andanother task is named A1 this will cause problemswhen searching for precedences. For this reason wehave added a name check below the original spread-sheet in rows 49 through 56 as shown in Figure 12.

I have placed the names of the tasks in row 49 andin column B, placed the formula

=IF(ISERR(SEARCH($B50,C$49)),0,1)

into cell C50, and copied the formula to all 49 cellsin the 7 by 7 table. If the row name in column B isfound in the column name in Row 49 then a 1 is theresult of the IF statement, otherwise there is an errorand a 0 is the results. In the example in Figure 12 Ihave changed the name of the last task to cc in orderto demonstrate that a 1 is picked up in cell I52. Alsonotice that a 1 is placed in each diagonal cell becausethe row name is the same as the column name. Finally,in cell B1 we have included the following code:=IF(SUM(C50:I56)>COUNT(C6:C12), “There is a

problem with the task names. One name is containedwith another. ‘,’ ”).

This will display an error message if the num-ber of tasks with names contained in another task,SUM(C50:I56), is greater than the number of tasks,COUNT(C6:C12), as is the case in this example wherethe sum is 8 but there are only 7 tasks.

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 11: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in Spreadsheets124 INFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS

Figure 12 Checking Names

Figure 13 Computation of Number of Following Tasks and Ranked Positional Weight

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 12: Implementing Line Balancing Heuristics in Spreadsheets

Weiss: Teaching Note Implementing Line Balancing Heuristics in SpreadsheetsINFORMS Transactions on Education 13(2), pp. 114–125, © 2013 INFORMS 125

5.2. Computing the Number of Following Tasksand the Ranked Positional Weight

To compute both the number of following tasks andthe ranked positional weight for each task I will fol-low the same approach that was taken by Weiss (1987)for classifying the states of a Markov chain. Figure 13displays the computations.

In cells C63:I69 I have converted the immediateprecedence list from the original data into a prece-dence matrix, P = 4pij5, where pij = 1 if task i is animmediate predecessor of task j or if i = j . I need thelatter condition for the matrix multiplications to fol-low. The matrix P is akin to a one-step Markov tran-sition matrix. The formula for creating this matrix is

C63 = “=(1−ISERROR(SEARCH($B63,C$61)))+($B63=C$62)”0

This formula is then copied to the remaining cellsdown to I69.

Cells C73:I79 are given by multiplying the matrix Pby itself. This is accomplished by using the array for-mula MMULT. The matrix P 2 can be interpreted as atwo step precedence matrix. That is, pij is 1 or greaterif task i precedes task j in no more than two steps.For example, notice that cell H73 is positive becauseexamining Figure 1 you can get from task A to task Fthrough task B in two steps whereas I73 is 0 becausethere is no path from task A to task G in two stepsor fewer.

Because there are seven tasks in the example, it willtake no more than six steps to go from one task toanother. Therefore, we need to multiply until we atleast have reached P 6. Thus we square P 2 to yield P 4

and square P 4 to yield P 8, which is more than suffi-cient. If an element is positive in P 8 then task i pre-cedes task j .

The next step is to count the number of followingtasks that we have done in J92:J99 by counting thenumber of positive entries in each row and subtract-ing 1 since pii = 1 for all tasks but task i does notfollow itself. The last step is to place the task times atthe bottom of the table in row 100 and then for eachtask to sum the task times of all of the followers. Thelast step is accomplished with another array formula:

K93 = ”=SUM(IF(C93:I93,C$100:I$100,0)).” For eachelement in C93:I93, if it is positive then the

corresponding element in C100:I100 will be includedin the sum.

Note that inserting or deleting tasks is now difficult.It may be easier to start from scratch copying the stepsin this paper for creating the spreadsheet rather thantrying to insert rows.

Supplementary MaterialFiles that accompany this paper can be found anddownloaded from http://ite.pubs.informs.org/.

AcknowledgmentsI am grateful to the anonymous referees and the editorfor their feedback and for their improvements in the Excelspreadsheets used in this paper.

ReferencesChang, Y. 2003. Win QSB. Version 2.0, John Wiley & Sons, New

York.Davis, M., J. Heineke. 2004. Operations Management: Integrating

Manufacturing and Services, 5th ed. McGraw-Hill/Irwin, Boston.Gass, S. I. 1993. Encounters with degeneracy: A personal view. Ann.

Oper. Res. 47(2) 335–342.Heizer, J., B. Render. 2011. Operations Management, 10th ed. Pearson

Prentice Hall, Upper Saddle River, NJ.Jacobs, F. R., R. B. Chase. 2011. Operations and Supply Chain Manage-

ment, 13th ed. McGraw-Hill, Boston.Krajewski, L., L. Ritzman, M. Malhotra. 2013. Operations Manage-

ment: Processes and Supply Chains, 10th ed. Pearson PrenticeHall, Upper Saddle River, NJ.

Meile, L. 2005. Selecting the right OM Textbook for the RightCourse. Decision Line 36(3) 16–20. http://www.decisionsciences.org/DecisionLine/Vol36/36_3/36_3books.pdf (last accessedon July 15, 2012)

Meredith, J., S. Shafer. 2003. Introducing Operations Management.John Wiley & Sons, New York.

Ragsdale, C. T. 2003. A new approach to implementing projectnetworks in spreadsheets. INFORMS Transactions Ed. 3(3)76–85. http://www.informs.org/Pubs/ITE/Archive/Volume-3/A-New-Approach-to-Implementing-Project-Networks-in-Spreadsheets (last accessed on July 15, 2012)

Ragsdale, C. T., E. C. Brown. 2004. On modeling line balancingproblems in spreadsheets. INFORMS Transactions Ed. 4(2)45–48. http://www.informs.org/Pubs/ITE/Archive/Volume-4/On-Modeling-Line-Balancing-Problems-in-Spreadsheets(last accessed on July 15, 2012)

Reid, R. D., N. Sanders. 2007. Operations Management: An IntegratedApproach, 3rd ed. John Wiley & Sons, New York.

Stevenson, W. 2007. Operations Management, 9th ed. McGrawHill/Irwin, Boston.

Weiss, H. J. 1987. A non-recursive algorithm for classifying thestates of a finite Markov chain. Eur. J. Oper. Res. 28(1) 93–95.

Weiss, H. J. 2006. POM-QM for Windows, Version 3. Pearson PrenticeHall, Upper Saddle River, NJ.

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.