You are on page 1of 5

This article was downloaded by: [217.117.239.

157] On: 23 December 2016, At: 08:23


Publisher: Institute for Operations Research and the Management Sciences (INFORMS)
INFORMS is located in Maryland, USA

INFORMS Transactions on Education


Publication details, including instructions for authors and subscription information:
http://pubsonline.informs.org

On Modeling Line Balancing Problems in Spreadsheets


Cliff T. Ragsdale, Evelyn C. Brown,

To cite this article:


Cliff T. Ragsdale, Evelyn C. Brown, (2004) On Modeling Line Balancing Problems in Spreadsheets. INFORMS Transactions on
Education 4(2):45-48. http://dx.doi.org/10.1287/ited.4.2.45
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 2004, 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

Vol. 4, No. 2, January 2004, pp. 4548


issn 1532-0545  04  0402  0045

informs

doi 10.1287/ited.4.2.45
2004 INFORMS

I N F O R M S
Transactions on Education

Downloaded from informs.org by [217.117.239.157] on 23 December 2016, at 08:23 . For personal use only, all rights reserved.

On Modeling Line Balancing


Problems in Spreadsheets
Cliff T. Ragsdale, Evelyn C. Brown

Department of Business Information Technology, Virginia Polytechnic Institute and State University,
Blacksburg, Virginia 24061, USA {crags@vt.edu, evebrown@vt.edu}

agsdale (2003) recently introduced an innovative approach to implementing project management networks
in spreadsheets that greatly simplies the handling of precedence relations among activities. This paper
demonstrates how a similar technique can be used to create efcient spreadsheet models for line balancing
problems.

1.

Introduction

department where a 0.4 minute cycle time is desired


(adapted from Meredith and Shafer 2003).
The proposed spreadsheet model for this problem
is shown in Figure 2. [Click here http://archive.ite.
journal.informs.org/Vol4No2/RagsdaleBrown/
LineBalancing.xls to download the Excel le for this
example.] Cells E6 through E12 in this spreadsheet
represent decision variables indicating to which
workstation each task is assigned. In the solution
shown, each task has been arbitrarily assigned to a
unique workstation. Formulas in cells I6 through I12
compute the sum of the task times assigned to each
workstation. The total task time for each workstation
must not exceed the desired cycle time of 0.4 minutes
specied in cell I13. Clearly, the solution shown in
Figure 2 is sub-optimal as the activities assigned to
workstations 4 and 5 (i.e., activities d and e) could
be assigned to a single workstation with a cycle
time of 0.37 minutes without violating the required
precedence relations.
Note that a precedence violation occurs if the maximum workstation assigned to a predecessor for a
given task x is greater than (or downstream from)
the workstation to which task x is assigned. The maximum workstation assigned to predecessors for each
task is computed in column F by entering the following array formula in cell F6 (and copying it to cells
F7 through F12):

For a given a set of manufacturing tasks and a specied cycle time, the classical line balancing problem
consists of assigning each task to a workstation such
that: (1) each workstation can complete its assigned
set of tasks within the desired cycle time, (2) the
precedence constraints among the tasks are satised,
and (3) the number of workstations is minimized.
The line balancing problem appears in most introductory operations management textbooks (Krajewski
and Ritzman 2002, Meredith and Schafer 2003). See
Scholl (1999) for a detailed analysis of this problem.
The precedence relations among activities in a
line balancing problem present a signicant challenge for students in formulating and implementing an optimization model for this problem. While
integer programming formulations are possible, they
quickly become unwieldy and increasingly difcult
to solve as problem size increases. As a result, many
authors recommend heuristic approaches to solving
the line balancing problem (Meredith and Schafer
2003, Sabuncuoglu et al. 2000, Suresh et al. 1996).
This paper introduces a simple, efcient approach
to implementing line balancing problems in spreadsheets. The resulting model can be used to facilitate
the discussion of heuristic solution techniques and/or
optimization using the evolutionary search engine in
Premium Solver for Education (provided with numerous spreadsheet-based OR/MS texts).

=MAX(IF(ISERR(FIND($B$6:$B$12,D6)),0,
$E$6:$E$12))

2.

Example

(Note that array formulas must be entered by pressing [Ctrl]+[Shift]+[Enter].) This array formula is comprised of four nested functions (i.e., FIND( ), ISERR( ),

Figure 1 shows the precedence relations and task


times (in minutes) for a credit application processing
45

46

Downloaded from informs.org by [217.117.239.157] on 23 December 2016, at 08:23 . For personal use only, all rights reserved.

Figure 1

Ragsdale and Brown: On Modeling Line Balancing Problems in Spreadsheets


INFORMS Transactions on Education 4(2), pp. 4548, 2004 INFORMS

Example Line Balancing Problem with Desired Cycle Time of


0.40 Minutes

IF( ), and MAX( )) that execute a loop or a series of


repeated calculations. Table 1 outlines the operation
of this array formula in determining the maximum
predecessor workstation for activity e (cell F10 in
Figure 2).
Figure 2

To evaluate the array formula for cell F10, Excel


starts with the innermost function and substitutes
each of the values in cells B6 through B12 as the rst
argument (denoted by x in Table 1) in the FIND( )
function. In general, the function FIND(x, y) attempts
to nd the text string denoted by x within the text
string denoted by y and, if found, returns the starting position of x within y; otherwise, it returns the
Excel error code #VALUE!. For example, FIND(c,
c, d) returns the vaue 1 because the letter c occurs
in the rst position of the string c, d. Thus, in
Table 1 the FIND( ) function returns the value 1 when
cell B8 (containing c) is compared to cell D10 (containing c, d). Similarly, FIND(d, c, d) returns
the value 4 because the letter d occurs in the fourth
position of the string c, d (note that FIND( ) counts
the space following the comma). Thus, in Table 1,

Spreadsheet Model for the Example Line Balancing Problem

Cell

Key cell formulas formula

Copied to

E13
F6
I6

=MAX(E6:E12)
=MAX(IF(ISERR(FIND($B$6:$B$12,D6)),0,$E$6:$E$12)) (Press [Ctrl]+[Shift]+[Enter] to enter.)
=SUMIF($E$6:$E$12,H6,$C$6:$C$12)

F7:F12
I7:I12

Ragsdale and Brown: On Modeling Line Balancing Problems in Spreadsheets


INFORMS Transactions on Education 4(2), pp. 4548, 2004 INFORMS

Table 1

Determining the Maximum Predecessor Workstation for


Activity e

Cell F10: =MAX(IF(ISERR(FIND($B$6:$B$12,D10)),0,$E$6:$E$12))

Downloaded from informs.org by [217.117.239.157] on 23 December 2016, at 08:23 . For personal use only, all rights reserved.

Array value x
B6
B7
B8
B9
B10
B11
B12

FIND(x,D10)

ISERR( )

IF( )

#VALUE!
#VALUE!
1
4
#VALUE!
#VALUE!
#VALUE!

TRUE
TRUE
FALSE
FALSE
TRUE
TRUE
TRUE

0
0
3
4
0
0
0
MAX( ) = 4

the FIND( ) function returns the value 4 when cell


B9 (containing d) is compared to cell D10 (containing c, d). In every other case, the FIND( ) function
returns the error code #VALUE! because none of the
other activities in cells B6 through B12 appear in cell
D10 as immediate predecessors of activity e.
The result of each FIND( ) function is then evaluated by the ISERR( ) function which returns a Boolean
value of TRUE if its argument evaluates to an error
Figure 3

Optimal Solution to the Example Line Balancing Problem

47

code or, otherwise, returns the value FALSE. The IF( )


function then uses this Boolean result to determine
whether to return a value of zero (the default maximum predecessor workstation for tasks without predecessors) or the corresponding value in the range E6
through E12. For instance, because the value in cell
B9 (d) is found in cell D10 as an immediate predecessor of activity e, the ISERR( ) function returns the
value FALSE and the IF( ) function returns the corresponding workstation assignment from the range E6
through E12 (i.e., the value 4 from cell E9). Alternatively, because the value in cell B6 (a) is not found
in cell D10 as an immediate predecessor of activity e,
the ISERR( ) function returns the value TRUE and the
IF( ) function returns the value zero.
As shown in Table 1, the IF( ) function produces a
series of values that are either zero or the assigned
workstation number for activities that are immediate
predecessors of activity e. The MAX( ) function then
returns the largest of these values (i.e., 4) which represents the workstation to which activity d is assigned.
Note that if an activity has no immediate predecessors
(e.g., activity a) then all the values returned by the

Ragsdale and Brown: On Modeling Line Balancing Problems in Spreadsheets

Downloaded from informs.org by [217.117.239.157] on 23 December 2016, at 08:23 . For personal use only, all rights reserved.

48

INFORMS Transactions on Education 4(2), pp. 4548, 2004 INFORMS

IF( ) function will be zero and, as a result, the maximum predecessor workstation for such an activity
will also be zero.
In Excel 2002 (XP), the steps outline in Table 1 can
be replicated dynamically in the spreadsheet to assist
in ones understanding of the array formula used in
column F. To do this, select cell F10 and click Tools,
Formula Auditing, Evaluate Formula. You may then
step through the process Excel goes through in evaluating this formula.
Figure 3 shows an optimal solution to the problem
found using Premium Solver for Education. Although
this approach to implementing line balancing problems in spreadsheets is very efcient, the resulting
model is nonlinear and best attacked using Solvers
evolutionary algorithm. As a result, there is no guarantee that Solver will stop at a global (rather than
local) optimum. However, if a heuristic is used to
specify a good initial starting solution, Solver is usually effective at improving the solution if the initial solution is sub-optimal. (See Meredith and Shafer
2003, p. 193 for a description of the longest operation
time next (LOT) heuristic for this problem.) Of course,
one may also initiate Solver several times in an effort
to ensure that a good solution is found.

3.

Comments

As noted in Ragsdale (2003), the technique presented


above relies on the (case-sensitive) FIND( ) function
to identify each tasks maximum predecessor workstation. Recall that the function FIND(x, y) attempts to
nd the text string denoted by x within the text string
denoted by y. As a result, it is critically important to
use task labels that are unique and do not appear as
substrings within other task labels.
For example, the 26 letters of the English alphabet
may be used to uniquely identify up to 26 tasks. However, using the strings A1 and A11 as task labels
would not work in the proposed technique because
the FIND( ) function would locate A1 within A11
(i.e., FIND(A1,A11)=1)erroneously identifying
task A1 as a predecessor of task A11. Fortunately, use
of the strings A01 and A11 as task labels easily
remedies this situation.
Similarly, if one wishes to use numbers rather
than letters to identify tasks, using the numbers

1 2 3     9 as task labels would create matching


problems within task labels 11 12 13     19 (among
others). However, this can be avoided easily by applying Excels Text format to cells containing task labels
and immediate predecessors (i.e., columns B and D
in Figure 1) and using two-digit numbers for all task
labels (e.g., 01 02 03     09 10 11 12 13     99). If
more than 100 numeric task labels are needed, threedigit numbers (formatted as text) should be used.

4.

Conclusions

This paper introduces an efcient, innovative


approach for modeling line balancing problems in
spreadsheet using array formulas. While the resulting
spreadsheet model is nonlinear and requires heuristic optimization, it makes line balancing problems
far more accessible to students and practitioners than
more complicated integer programming spreadsheet
models for this type of problem (which may also
require heuristic optimization as the problem size
increases). Additionally, it introduces students to the
power provided by array formulas in a motivating
and easily understood fashion.
References
Krajewski, L., L. Ritzman. 2002. Operations Management Strategy and
Analysis, 6th ed. Prectice-Hall, New Jersey.
Meredith, J., S. Shafer. 2003. Introducing Operations Management.
Wiley, New York.
Ragsdale, C. T. 2003. A new approach to implementing project networks in spreadsheets. INFORMS Trans. Ed. 3(3), http://ite.
pubs.informs.org/Vol3No3/Ragsdale/index.php.
Sabuncuoglu, I., E. Erel, M. Tanyer. 2000. Assembly line balancing
using genetic algorithms. J. Intelligent Manufacturing 11
295310.
Scholl, A. 1999. Balancing and Sequencing of Assembly Lines. Springer
Verlag, Heidelberg.
Suresh, G., V. Vivod, S. Sahu. 1996. A genetic algorithm for assembly line balancing. Production Planning and Control 7(1) 3846.

To reference this paper, please use:


Ragsdale, C. T. and E. C. Brown (2004), On Modeling Line Balancing Problems in Spreadsheets, INFORMS Transaction on Education, Vol. 4, No 2, http://archive.ite.journal.informs.org/Vol4No2/
RagsdaleBrown/.