0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)

104 Ansichten13 Seitenline balancing

© © All Rights Reserved

PDF, TXT oder online auf Scribd lesen

line balancing

© All Rights Reserved

Als PDF, TXT **herunterladen** oder online auf Scribd lesen

0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)

104 Ansichten13 Seitenline balancing

© All Rights Reserved

Als PDF, TXT **herunterladen** oder online auf Scribd lesen

Sie sind auf Seite 1von 13

Publisher: Institute for Operations Research and the Management Sciences (INFORMS)

INFORMS is located in Maryland, USA

Publication details, including instructions for authors and subscription information:

http://pubsonline.informs.org

Spreadsheets

Howard J. Weiss,

Howard J. Weiss, (2013) Teaching NoteImplementing Line Balancing Heuristics in Spreadsheets. INFORMS Transactions on

Education 13(2):114-125. http://dx.doi.org/10.1287/ited.1120.0096

Full terms and conditions of use: http://pubsonline.informs.org/page/terms-and-conditions

This article may be used only for the purposes of research, teaching, and/or private study. Commercial use

or systematic downloading (by robots or other automatic processes) is prohibited without explicit Publisher

approval, unless otherwise noted. For more information, contact permissions@informs.org.

The Publisher does not warrant or guarantee the articles accuracy, completeness, merchantability, fitness

for a particular purpose, or non-infringement. Descriptions of, or references to, products or publications, or

inclusion of an advertisement in this article, neither constitutes nor implies a guarantee, endorsement, or

support of claims made of that product, publication, or service.

Copyright 2013, INFORMS

Please scroll down for articleit is on subsequent pages

INFORMS is the largest professional society in the world for professionals in the fields of operations research, management

science, and analytics.

For more information on INFORMS, its publications, membership, or meetings visit http://www.informs.org

Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

Downloaded from informs.org by [14.139.224.146] on 22 June 2015, at 04:01 . For personal use only, all rights reserved.

ISSN 1532-0545 (online)

I N F O R M S

Transactions on Education

http://dx.doi.org/10.1287/ited.1120.0096

2013 INFORMS

Teaching Note

Heuristics in Spreadsheets

Howard J. Weiss

Department of Marketing and Supply Chain Management, Fox School of Business, Temple University,

Philadelphia, Pennsylvania 19122, hweiss@temple.edu

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 balancing 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 Excels 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

standard in Solver in Excel 2010 but was not in versions 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 Browns

(2004) small example.

Basically, there is only one heuristic that is presented in the textbooks, but there are different priority 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 referenced 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 template. I do point out to the students the inclusion of

Excels array formulas in the model and the use of

Excels Scenario Manager.

balancing problems appear in most introductory

operations management (OM) textbooks. In addition, line balancing methods appear in general quantitative methods problem solving educational software

packages such as WinQSB (Chang 2003) and POMQM 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 management textbooks do not include any optimization

models but instead present a heuristic method that

relies on priority rules. In this paper I use Ragsdales

(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 Excels

evolutionary search engine as proposed by Ragsdale

114

115

Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

Downloaded from informs.org by [14.139.224.146] on 22 June 2015, at 04:01 . For personal use only, all rights reserved.

Table 1

Operations Management Textbooks and Software Packages

Table 2

Longest

Most

Ranked Shortest Fewest

operation 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

Spreadsheet Model

Shafer (2003) and used by Ragsdale and Brown (2004).

Figure 1 has been copied from Ragsdale and Brown

Figure 1

0.37

b

0.20

a

0.21

c

e

0.19

0.18

Station 2

Station 3

Station 4

Station 5

the longest operation time rule. As can be seen in

Table 1, this is the most common rule among the

textbooks and also the first rule that is discussed in

most textbooks. In the following section I demonstrate that although ties may be easy to handle

when solving a problem by hand they need to be

considered when developing Excel spreadsheets or

difficulties will ensue. Following that I extend the

ideas of the longest operation time rule to present

the easy changes for using the four other common

priority rulesmost following tasks, ranked positional weight, shortest processing time, least following tasks. In addition, I demonstrate the value of

Excels Scenario Manager to students for creating a

summary of the results obtained using the five different methods.

2.

Station 1

0.39

0.36

Task

Task time

(in minutes)

Remaining

unassigned

time

(in minutes)

A

D

B

C

E

F

G

020

018

037

021

019

039

036

0.20

0.02 idle

0.03 idle

0.19

0.00 idle

0.01 idle

0.04 idle

Feasible

remaining

tasks

A

D

None

None

E

None

None

Finished

Task with

longest

operation

time

A

D

cycle time is given as 0.4 minutes.

Each iteration of the heuristic executes the following 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 priority rule.

Observe that one task is assigned to a station at

each iteration. Therefore, the number of iterations will

equal the number of tasks.

In Table 2 we demonstrate the table that would

be created by following these steps using the longest

operation time rule. Table 2 is similar to the style of

Exhibit 6A.11 in Jacobs and Chase (2011) or Exhibit

12.12 in Davis and Heineke (2004) except that I have

added a row above Station 1 to demonstrate that at

the beginning of this example only task A is feasible.

This example, which we have taken from Ragsdale

and Brown (2004), is somewhat uninteresting because

there is never more than one feasible task at each step.

Our next example, with ties, will be more interesting.

2.1. Setting Up the Spreadsheet

I provide the workbook file ALB.heuristics.xls as

a supplement to this paper. The first worksheet,

Longest Operation Time (LOT), appears in Figure 2.

The cells shaded in green contain the original data as

they would appear in a typical OM textbook. To the

left of this table of data, in column A, the times that

appear in column C have been duplicated because

I will need to perform an Excel VLOOKUP based on

the times, and the lookup values must be in the first

column of the table.

116

Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

Downloaded from informs.org by [14.139.224.146] on 22 June 2015, at 04:01 . For personal use only, all rights reserved.

Figure 2

The iteration section of the spreadsheet has two sections. The top of the iteration section (rows 17 to 24)

is used to keep track of which tasks are ready for

scheduling. One of the more difficult aspects of creating spreadsheets for line balancing (and project management) is dealing with the precedence constraints.

To do this I am going to use a code for the status of

each task during each step of the process. In implementing the heuristic for this problem, typically one

keeps track of which precedences have been met for

any task. However, a simple observation is that it is

not necessary to know the specific precedences that

have been met but simply the number of precedences

that have been met! For example, task E has two

precedences so when two precedences for this task

have been met, task E is ready to be scheduled. The

codes for the activities that are used in the spreadsheet are displayed in row 16 of the spreadsheet and

in more detail in Table 3.

Thus, in order to keep track of the number of unmet

precedences I need to begin by determining the number of precedences that exist for each task and then

subtract one each time that one of the precedences

for this task is met. The formulas to be used are in

Table 4.

Table 3

Task Codes

Code

Meaning

1

0

n>0

The task is ready to be scheduled

The number of precedences remaining for this task

117

Table 4

Table 6

Cell

Formula

Copied to

D18

=SUM(IF(ISERR(SEARCH($B$18:$B$24,$D6)),0,1))

(Press [Ctrl] + [Shift] + [Enter] to enter.)

=IF(ISERR(SEARCH(D$32,$D6&$B6)),D18,D181)

D19:D24

E18

Table 5

Array value x

B18

B19

B20

B21

B22

B23

B24

E18:J24

ISERR( )

IF( )

#Value!

#Value!

5

7

#Value!

#Value!

#Value!

TRUE

TRUE

FALSE

FALSE

TRUE

TRUE

TRUE

0

0

1

1

0

0

0

Sum = 2

is given in cells D18:D24. (Because this is based

on the initial data I have color coded the cells in

orange). The formula uses Excels array formula previously described by Ragsdale (2003) and also used

in Ragsdale and Brown (2004). Table 5 displays an

example of the initial precedence count for task E that

is 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 the

SEARCH function rather than Excels FIND function to avoid the upper/lower case problems noted

in Ragsdale (2003) and repeated in Ragsdale and

Brown (2004).

The formulas in the following columns (E18:J24)

will subtract one from the precedence count if the

most recent task scheduled (row 32) is one of the

precedences for this task. Also, I have included

the current task name in the search so that if this is

the task that is scheduled the number of precedences

will drop by 1 from 0 to 1 and the task will not be

scheduled a second time.

This array formula approach is different from the

one in Ragsdale and Brown (2004). They used an

array formula to create constraints that ensured that

the station number of every task was at least as

high as the station number for each of that tasks

predecessors.

2.2. Iterating

The assembly line balancing heuristic can now be performed. The formulas to be used are in Table 6. The

iteration steps are performed as follows in the spreadsheet. Note that some of the copying begins in column

Remaining Time

Cell

Formula

D27

E27

D28

=C4

=D29D31

=SUM(IF($C$6:$C$12<=D27,1,0)

IF(D18:D24=0,1,0))

(Press [Ctrl7 + 6Shift7 + 6Enter] to enter.)

=IF(D28>=1,D27,$C$4)

1

=IF(E28>=1,D30,D30+1)

=MAX(IF($C$6:$C$12<=D29,1,0)

IF(D18:D24=0,$A$6:$A$12,0))

(Press [Ctrl7 + 6Shift7 + 6Enter] to enter.)

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

D29

D30

E30

D31

D32

Copied to

F27:J27

E28:J28

E29:J29

F30:J30

E31:J31

E32:J32

D but that for the time available (row 27) and the station number (row 30) the copying begins in column

E because column D contains initial values, which I

have indicated by color coding them orange.

Row 27. Time availableat the beginning of the

problem, the time available (D27) is the cycle time as

given in cell C4. Because this is initial data it is color

coded as orange. For all other iterations (E27:J27) the

time available is the time that was previously available minus the time for the task that was just placed

into the balance during the previous iteration one column to the left.

Row 28. We need to determine if any task is feasible. A task is feasible if it meets the following three

conditions:

Condition 1. The task has not been performed

already (code > 1).

Condition 2. The task has had its precedences met

(code = 0).

Condition 3. The task will fit in the remaining time.

Note that the way the activities are coded means

that if condition 2 is met then condition 1 is met

because the code will be 0 which is greater than 1.

The approach I have taken is to count the number

of tasks that meet the requirements. Obviously, if the

results are 0 then a new station needs to be added,

otherwise one of the ready tasks can be included into

the 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 fit

into the remaining time, and the second IF statement

tests that the code for the task is 0. The multiplication performs an AND operation. Note that an IF

statement is used inside the SUM because the AND

statement does not function properly inside the array

function. The product of the two IF statements will

118

Table 7

Table 8

Remaining Time

Remaining Time

Array

value

IF($C$6:$C$12<=E27,1,0)

Array

value

IF(E18:E24=0,1,0)

Product

Array

value

IF($C$6:$C$12

<=E29,1,0)

Array

value

C6

C7

C8

C9

C10

C11

C12

1

0

0

1

1

0

0

D18

D19

D20

D21

D22

D23

D24

0

1

1

1

0

0

0

0

0

0

1

0

0

0

C6

C7

C8

C9

C10

C11

C12

1

0

0

1

1

0

0

E18

E19

E20

E21

E22

E23

E24

IF(D18:D24=0,

$A$6:$A$12,0)

0

0037

0021

0018

0

0

0

Product

0

0

0

0.18

0

0

0

Sum = 1

Max = 0018

function is used to count the number of tasks that

meet the requirements at each iteration. Table 7 displays an example of the count of the tasks that will fit

in the remaining 0.20 minutes after task A has been

scheduled:

amount of time. This will cause problems in case of

ties, which I will discuss in the next section.

Finally the formula for the task completion table is

determined as follows. The code in cell E18 is

IF(E18:E24=0,1,0))0

Rows 29 and 30. If one or more tasks fit into the

allotted time then simply continue. If not, another station needs to be added (increment the station number by one) and the available station time needs to

be reset to the cycle time. The following statements

accomplish this.

Row 29. =IF(D28>=1,D27,$C$4) where D28 is the

number of tasks that are ready, D27 is the time available and C4 is the cycle time.

Row 30. Cell D30 is set to 1 because this is the starting station number, again colored orange. All other

cells in the row are based on the following formula:

=IF(E28>=1,D30,D30+1), where E28 is the number

of tasks that fit, and D30 is the current station number.

Row 31. At this point the task to schedule needs to

be determined. The formula for row 31 is conceptually the same as for the formula for row 27. The difference is that the time used to test whether the task

will fit is now given by the adjusted time in row 28

rather than the original time in row 26. In addition,

the task code should be returned rather than a count

of the number of available activities. The MAX function selects the task that has the longest operation

time:

=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 the

longest time that will fit into the remaining time.

Row 32. A table lookup is used to find the name

and time of the task with the given code:

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

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

The number of unmet precedences is reduced by

one if one of its precedences was completed or if the

task itself was completed. The results of the iterations

can be seen by looking at the columns D through J

one column at a time from left to right.

2.3. Summary Results

Most of the textbooks present summary results for

any rule. The summary results are displayed in

rows 36 to 44 of the spreadsheet for our example in

Figure 2. The formulas are very straightforward and

are displayed in Table 4.

In addition, some textbooks, such as Heizer and

Render (2011) reduce the cycle time that is used when

there is idle time at every station. The minimum

idle time is given by the minimum of the available

times in row 27. This could easily be added to the

spreadsheet. In this particular example, the minimum

time is 0 at station 3 where tasks C and E are both

scheduled.

2.4. Adding or Deleting Activities

This example has seven activities but it is very

straightforward to insert or delete activities. In Figure 3 we display an example of adding three rows. To

add activities do the following:

1. Select any row after the first row in the table

of data and insert however many additional rows

are needed. Note that several formulas include references to the times in $C$6.$C$12. Inserting a task after

task A will correctly modify these formulas beyond

$C$12 or to $C$6.$C$15 in our example of adding

three rows. Inserting a row before row A will not

modify these formulas and therefore not include all

of the tasks.

119

Table 9

Result

Formula

Cycle time

Time needed per cycle

Min (theoretical) number of stations

=C4

=SUM(C6:C12)

=CEILING(C13/E35,1)

Time allocated per cycle

Idle time per cycle

Efficiency

Balance delay

=MAX(D29:J29)

=E39 E35

=E40E36

=E36/E40

=1E42

tasks and copy the lookup criterion from the cell

above in column A to the new rows as I have done in

rows 8, 9, and 10.

2. Select the corresponding rows in the iterations

table and right click and insert the same number of

rows as in the table above. Copy the row above the

Figure 3

Explanation

This is given rather than computed

This is the sum of the task times

This is the amount of total task time divided by the cycle time and

rounded up to the nearest integer

This is the maximum (or last) station number

This is the number of stations multiplied by the cycle time

This is the time allotted minus the time required

This is the ratio of the time required and the time allotted

This is 1 minus the efficiency

23, 24, and 25.

3. In the iteration table, insert three columns prior

to the last column as shaded in pink in Figure 3. Copy

the column on the left of the inserted column, column G in the example, all the way to the last iteration

on the right. The columns need to be inserted into the

120

iteration rows in order for the formulas in the results

summary to be updated properly.

Deleting activities is even easier. Simply delete the

rows in each of the two tables that correspond to the

activities and delete the extra iterations on the right

of the iterations section.

3.

Ties in ExcelPertubations

If there are two activities with the same time then the

model will fail because of Excels table lookup. This is

displayed by the example in the spreadsheet named

LOTtie shown in Figure 4. The time for task C

has been changed to 0.18, which is identical to the

time for task D. The table lookup fails as can be seen

by the highlighted cells in row 32 in Figure 4.

To preclude a tie from happening I need to perturb

the lookup criterion for each task as displayed in the

spreadsheet titled LOTtie prevention and shown

in Figure 5. The need to perturb solution methods

in order to get them to work has existed long before

Excel was used. With respect to linear programming, Gass (1993, p. 335) noted, In 1952, we knew

that perturbing the linear constraints would counteract degeneracy. The perturbation method suggested

then was to modify numbers by a very small amount

so as to not allow for any ties while not significantly

Figure 4

be very, very small. In a similar fashion, I have added

a tie prevention column, E, with unique amounts that

are much smaller than the task times in order to perturb the lookup criterion in column A without making a major change in the task times being examined.

The prevention codes need to be much smaller than

the task times because otherwise the prevention codes

might create ties that did not exist initially. In our

example the lookup criteria for tasks C and D will be

given as 0.17997 and 0.17996 as can be seen in row 31

of the spreadsheet where we use the perturbed time

rather than the actual time to identify the activity to

be scheduled. Each of these two times is virtually the

0.18 it is supposed to be but the difference between

the two values is enough for Excels VLOOKUP function to distinguish between them and break the tie. It

is important to subtract the perturbation factor rather

than add the perturbation factor. If we add the factor

then if the time remaining is equal to the task time the

method will think that the task cannot fit because it is

too long. For example, if task E takes 0.19 minutes, its

perturbation factor is 0.00005 and the time remaining

in the station is 0.19, then if we add the perturbation factor the method will think that task E cannot

fit because it will compare 0.19 to 0.19005. A byproduct of subtracting the perturbation factors is that any

121

Figure 5

names if the perturbation factors are increasing.

Notice that for finding the next task I look up the

perturbed activity time rather than the actual activity

time as displayed in row 31. This means that I need

to add a row to look up the actual activity time in

order to keep track of the actual time available at the

station. This appears in row 33.

4.

rule has been used to decide which task to place in

the station when multiple tasks are ready and will fit.

There are other rules that could be used and the original spreadsheet can easily be modified to allow for

selecting from among the five rules that are presented

in 1 of this paper.

4.1. Other Priority Rules

In the spreadsheet titled Multiple Priority Rules

and displayed in Figure 6 I have modified the data

section of the spreadsheet to create a table that incorporates the priority measures for each job for each of

the priority rules. Note that task C has been set to its

original time of 0.21.

Column G is simply the processing time in column C. Column H contains the number of following

weight (sum of the weights of the task and all of its

followers). In 5 of this paper we demonstrate how to

compute these two values using Excel. Columns J and

K contain the inverse of columns G and H because

the rule is reversed from longest to shortest or most

to least.

A data input cell, F3, has been added to select

which method should be used, and the methods have

been numbered 1 through 5 in cells G4 through K4.

Most of the cells are identical to the previous

spreadsheet. The only change is in the lookup criterion used for each cell. Thus, formerly I had in cells

A6:A12 the task time minus the perturbation factor,

for example,

A6=C6E6

To vary the rule that is used, I used a table lookup

to find the criterion from the new table that has been

created on the right of the data. The formula for A6 is

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

To see results from different rules simply change

cell F3 from 1 to 2 to 3 to 4 to 5.

4.2. Using Excels Scenario Manager

Once I have implemented all of the decision rules into

the spreadsheet it is easy and useful to use Excels

122

Figure 6

spreadsheet. The Scenario Manager can be found on

the data tab under the what-if analysis dropdown as

shown in Figure 7.

Scenarios allow for easy changes of values in the

cells in the spreadsheet. The Scenario Manager offers

the option to add scenarios and we have added one

scenario for each of the five balancing rules as displayed in Figure 8.

For each of the priority rules we have indicated that

the cell we wish to change is cell F3, the cell with the

code for which priority rule to use as displayed in

Figure 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

123

Figure 9

5.

Technical Details

addresses the names of the tasks and the second

explains the computation of the number of following

tasks and the ranked positional weight.

5.1. Restriction on Names

Our spreadsheets have the same drawback as

Ragsdale and Browns (2004) in that one must be careful with naming the tasks in order to ensure that the

name of one task is not wholly contained in the name

of another. For example, if one task is named A and

another task is named A1 this will cause problems

when searching for precedences. For this reason we

have added a name check below the original spreadsheet in rows 49 through 56 as shown in Figure 12.

I have placed the names of the tasks in row 49 and

in column B, placed the formula

Figure 10

Figure 8) we select the summary button and are

presented with a summary of the results for all

five methods on one spreadsheet as displayed in

Figure 11. Column A was copied from the original

spreadsheet. It is not created by Scenario Manager. It

can be easily seen from the summary table that for

this particular example all rules lead to the same number of stations.

Figure 11

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

into cell C50, and copied the formula to all 49 cells

in the 7 by 7 table. If the row name in column B is

found in the column name in Row 49 then a 1 is the

result of the IF statement, otherwise there is an error

and a 0 is the results. In the example in Figure 12 I

have changed the name of the last task to cc in order

to demonstrate that a 1 is picked up in cell I52. Also

notice that a 1 is placed in each diagonal cell because

the 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 contained

with another. , ).

This will display an error message if the number 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 where

the sum is 8 but there are only 7 tasks.

124

Weiss: Teaching Note Implementing Line Balancing Heuristics in Spreadsheets

INFORMS Transactions on Education 13(2), pp. 114125, 2013 INFORMS

Figure 12

Checking Names

Figure 13

Computation of Number of Following Tasks and Ranked Positional Weight

INFORMS Transactions on Education 13(2), pp. 114125, 2013 INFORMS

5.2.

and the Ranked Positional Weight

To compute both the number of following tasks and

the ranked positional weight for each task I will follow the same approach that was taken by Weiss (1987)

for classifying the states of a Markov chain. Figure 13

displays the computations.

In cells C63:I69 I have converted the immediate

precedence list from the original data into a precedence matrix, P = 4pij 5, where pij = 1 if task i is an

immediate predecessor of task j or if i = j. I need the

latter condition for the matrix multiplications to follow. The matrix P is akin to a one-step Markov transition matrix. The formula for creating this matrix is

C63 = =(1ISERROR(SEARCH($B63,C$61)))

+($B63=C$62)0

This formula is then copied to the remaining cells

down to I69.

Cells C73:I79 are given by multiplying the matrix P

by itself. This is accomplished by using the array formula MMULT. The matrix P 2 can be interpreted as a

two step precedence matrix. That is, pij is 1 or greater

if task i precedes task j in no more than two steps.

For example, notice that cell H73 is positive because

examining Figure 1 you can get from task A to task F

through task B in two steps whereas I73 is 0 because

there is no path from task A to task G in two steps

or fewer.

Because there are seven tasks in the example, it will

take no more than six steps to go from one task to

another. Therefore, we need to multiply until we at

least 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 sufficient. If an element is positive in P 8 then task i precedes task j.

The next step is to count the number of following

tasks that we have done in J92:J99 by counting the

number of positive entries in each row and subtracting 1 since pii = 1 for all tasks but task i does not

follow itself. The last step is to place the task times at

the bottom of the table in row 100 and then for each

task to sum the task times of all of the followers. The

last step is accomplished with another array formula:

K93 = =SUM(IF(C93:I93,C$100:I$100,0)). For each

element in C93:I93, if it is positive then the

125

in the sum.

Note that inserting or deleting tasks is now difficult.

It may be easier to start from scratch copying the steps

in this paper for creating the spreadsheet rather than

trying to insert rows.

Supplementary Material

Files that accompany this paper can be found and

downloaded from http://ite.pubs.informs.org/.

Acknowledgments

I am grateful to the anonymous referees and the editor

for their feedback and for their improvements in the Excel

spreadsheets used in this paper.

References

Chang, 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) 335342.

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 Management, 13th ed. McGraw-Hill, Boston.

Krajewski, L., L. Ritzman, M. Malhotra. 2013. Operations Management: Processes and Supply Chains, 10th ed. Pearson Prentice

Hall, Upper Saddle River, NJ.

Meile, L. 2005. Selecting the right OM Textbook for the Right

Course. Decision Line 36(3) 1620. http://www.decisionsciences

.org/DecisionLine/Vol36/36_3/36_3books.pdf (last accessed

on 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 project

networks in spreadsheets. INFORMS Transactions Ed. 3(3)

7685. 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 balancing

problems in spreadsheets. INFORMS Transactions Ed. 4(2)

4548. 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 Integrated

Approach, 3rd ed. John Wiley & Sons, New York.

Stevenson, W. 2007. Operations Management, 9th ed. McGraw

Hill/Irwin, Boston.

Weiss, H. J. 1987. A non-recursive algorithm for classifying the

states of a finite Markov chain. Eur. J. Oper. Res. 28(1) 9395.

Weiss, H. J. 2006. POM-QM for Windows, Version 3. Pearson Prentice

Hall, Upper Saddle River, NJ.