0% found this document useful (0 votes)
4 views

5. an Integer Programming Procedure for Assembly System Design Problems

The paper presents an integer programming approach for designing automated assembly systems, focusing on work station selection and task assignment. It formulates the problem as a zero-one integer program and provides a procedure for determining optimal solutions through computational bounds. The results indicate that the proposed method is effective, achieving optimal solutions in all evaluated test cases.

Uploaded by

Audytio Mikha Ap
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

5. an Integer Programming Procedure for Assembly System Design Problems

The paper presents an integer programming approach for designing automated assembly systems, focusing on work station selection and task assignment. It formulates the problem as a zero-one integer program and provides a procedure for determining optimal solutions through computational bounds. The results indicate that the proposed method is effective, achieving optimal solutions in all evaluated test cases.

Uploaded by

Audytio Mikha Ap
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

An Integer Programming Procedure for Assembly System Design Problems

Author(s): Stephen C. Graves and Bruce W. Lamar


Source: Operations Research , May - Jun., 1983, Vol. 31, No. 3 (May - Jun., 1983), pp.
522-545
Published by: INFORMS

Stable URL: https://www.jstor.org/stable/170621

JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide
range of content in a trusted digital archive. We use information technology and tools to increase productivity and
facilitate new forms of scholarship. For more information about JSTOR, please contact [email protected].

Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at
https://about.jstor.org/terms

INFORMS is collaborating with JSTOR to digitize, preserve and extend access to Operations
Research

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
An Integer Programming Procedure for Assembly
System Design Problems

STEPHEN C. GRAVES and BRUCE W. LAMAR


Massachusetts Institute of Technology, Cambridge, Massachusetts
(Received January 1981, revised August 1981; accepted October 1982)

Recent advances in robot technology have revolutionized the concept of


manufacturing and assembly systems. These advances have created the need
for new mathematical models to reflect the capabilities of the new technolo-
gies. In this paper, we focus on the system design problem by defining a work
station selection and task assignment problem for automated assembly sys-
tems. We formulate this problem as a zero-one integer program and describe
a procedure for seeking lower and upper bounds to the optimal value of the
integer program. The upper bound provides a feasible solution to the integer
formulation and the lower bound is tighter than the standard linear program-
ming relaxation of the integer formulation. Computational results indicate that
the proposed bounds are extremely tight. In fact, in each of the 42 test
problems evaluated, the lower and upper bound coincided, indicating that the
optimal solution to the integer program had been obtained.

W ITH RECENT advances in manufacturing and computer technol-


ogy, the notion of the automated factory has evolved from a science
fiction fantasy to a reality. Some recent references in the popular press
that describe these advances are Bylinsky [1979], U.S. News and World
Report [1979], Nicholson et al. [1979], Business Week [1980], Donlan
[1980], Friedrich et al. [1980], and Schefter [1980]. As these articles
indicate, a wide variety of automated equipment for part fabrication,
assembly, and material handling is now available for manufacturing and
assembly systems. For instance, robots are being used widely in welding,
spray-painting, and material-handling applications, while other types of
automation such as numerically-controlled machining centers are per-
forming part fabrication. In addition, robots are expected to work along-
side assembly workers in many future assembly systems. These techno-
logical advances have created a new set of opportunities for management
scientists, with regard to both the design and the operational control of
automated systems.
This paper focuses on the system design problem for automated assem-
bly systems. An assembly system performs a set of distinct tasks for the
Subject classification: 332 robot assembly system design, 633 production assembly systems.
522
Operations Research 0r30-364X/83/3103-0522 $01.25
Vol. 31, No. 3, May-June 1983 ( 1983 Operations Research Society of America

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 523

assembly of a product family which typically consists of a primary


product and its model variations. To perform these tasks, the system
contains a set of work stations linked together by a transport mechanism
for moving parts between stations. In addition, the assembly system
includes the detailed specification of how a product's assembly flows from
station to station. With these elements of an assembly system in mind,
we are able to divide the decisions concerning the design of an assembly
system into the following three components:

(a) The determination of the assembly requirements to be satisfied by


the system. This includes specifying the product family to be
assembled as well as identifying and sequencing the required
assembly tasks.
(b) The selection of work stations and assignment of tasks to these
stations. Here the designer not only determines the type and
number of work stations, but also assigns the tasks to these stations.
(c) The selection of transport mechanisms and the determination of
the physical layout. The designer must find a feasible layout of the
work stations, which includes the choice of a material handling
system for transporting parts between stations and a routing plan
for each part to be assembled.

This taxonomy of the system design process suggests a hierarchical


approach in which the resolution of (a) is the primary input to (b), while
the decisions from (b) constrain the choices in (c). Since the effects of the
three decision levels are interrelated, the decision-making process would
typically be implemented in an iterative fashion.
In this paper, we concentrate on (b), the work station selection and
task assignment problem. The recent advances in automated assembly
technology introduce new complexities and opportunities not addressed
by the more traditional assembly design models such as the assembly
line balancing problem (Ignall [1965]). In the line balancing problem we
assume that all work stations are identical, and are to be laid out
sequentially along a line. We then assign assembly tasks to these stations
to satisfy all precedence relationships between the tasks as well as to
balance the total work load at the stations. In contrast, in the station
selection and task assignment problem we do not explicitly try to balance
the total work load across the work stations. (Indeed, the resultant station
loads are often highly unbalanced.) Rather, the design criterion is to
minimize total system costs, both fixed and variable, while satisfying a
desired production rate. We select work stations from a set of nonidentical
candidate work stations and simultaneously assign the assembly tasks to
these selected stations to achieve a prespecified production rate at
minimum cost. We do not presume a specific layout of these work stations

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
524 Graves and Lamar

and, therefore, permit considerable freedom to exchange product parts


between stations in the assembly system. In addition, for automated
assembly equipment, some types of equipment can change tools, whereas
other types are restricted to just one tool. Consequently, we explicitly
include tool changing in the problem formulation. A more comprehensive
treatment of our work may be found in Lamar [1980] which is an
extension of the station selection and task assignment problem given in
Graves and Whitney [1979]. Future work will address parts (a) and (c) of
the system design process.
The remainder of this paper is organized into five sections. In the next
section, we formulate the work station selection and task assignment
problem as a zero-one integer program. We illustrate this formulation
with an example based on the assembly of an automobile alternator.
Sections 2 and 3 present an approximate solution procedure for this
integer program. This solution procedure solves two relaxations to the
integer program to obtain lower bounds on the optimal value. These
relaxations are also used to find near-optimal feasible solutions to the
integer program and upper bounds on its optimal value. Our computa-
tional experience reported in Section 4 shows that for a limited set of test
problems the approximate procedure is extremely effective in finding the
optimal solution to the integer program. Finally, in Section 5 we discuss
possible model extensions and refinements.

1. PRESENTATION OF THE MODEL

In this section we formulate a zero-one integer linear program that


selects work stations and assigns tasks to these work stations to minimize
total cost in an assembly system that must satisfy a preset production
rate. We then illustrate the model with the example of an automobile
alternator assembly, and reformulate the model as a generalized program-
ming problem.

Notation and Formulation

Let index set I = {1, ... , M} denote the M possible work stations
available for assembly operations and let index set J = {1, *- -, NJ
denote the N distinct tasks that must be performed by the assembly
system. These N tasks might represent a single product or subassembly,
or possibly a family of products or subassemblies. We define task 0 as a
dummy "start-up" task, task N + 1 as a dummy "completion" task, and
assume that there is a strict ordering of all tasks so that task j must
precede task k if, and only if, j < k. As a consequence, if the production
system assigns tasks 1, 2, and 4 to the first work station and task 3, which
must precede task 4, to the second work station, then once the first work
station performs tasks 1 and 2, it must unload the product and transfer
it to the second work station for task 3 to be performed. Then it must

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 525

return the product to the first work station to complete task 4.


Our formulation of the assembly system design problem will select a
subset from the set of work stations I and assign the tasks from set J to
these work stations so as to minimize some cost criterion while achieving
a preset production rate. This formulation requires four sets of param-
eters. First, for each work station i (i E I), we specify an annualized fixed
cost fi representing the capital investment necessary to cover the work
station and its required tooling. Second, we specify the amount of
operating time bi available at work station i over an annual period.
Typically, bi would represent the expected annual "up-time" for the work
station. Third, we define tijk (i E I, 0 j < k ' N + 1) to be the amount
of operating time necessary to satisfy the annual requirements for task j
if work station i performs task j and task k is the next task performed at
work station i. The parameter tijk typically consists of three components:
(i) the actual assembly time associated with task j, (ii) a load/unload
time required for transferring the product to another work station if k
does not equal j + 1, and (iii) a tool-change time if tasks j and k require
distinct tools at work station i. By convention, tiok specifies the "startup"
time at work station i when task k is the first task performed in each
cycle at that work station, while ti,jN+1 gives the "completion" time whe
task j is the last task performed at work station i. Finally, paralleling th
definition of tijk, we define cijk (i E I, 0 ' j < k ' N + 1) to be the annual
operating cost for performing task j at work station i when task k is the
next task performed at work station i. This cost includes the variable
assembly cost, the variable handling cost, and the variable tooling cost.
If tasks j, k, * * *, l are assigned to work station i, the formulation, for
purposes of calculating the annual operating time and cost at station i,
assumes that the work schedule at station i is cyclic and follows the
simple sequence j, k, * , 1, j, k, * . We assume that the system
operates with a fixed cycle time dictated by the preset production rate
(e.g. 1 assembly every 60 seconds). Consequently each work station
performs its assignment of tasks exactly once each cycle. If the tasks
assigned to a work station do not consume the entire cycle time, then
that work station wil be idle for a proportion of each cycle. To ensure
the feasibility of this mode of operation, we assume that the system
carries some minimal level of work-in-process inventory. In practice, one
may be able to sequence the work at each station so as to minimize
operating time or cost. Hence, our parameters should be thought of as
conservative approximations to the actual costs and times.
We define two sets of decision variables:

1 if task j is performed at work station i and task k


X is the next task to be performed at work station i
Xijk 1 (iEI,O j<k N + 1)
0 otherwise,

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
526 Graves and Lamar

and

I if work station i is included in the assembly design


Yi = configuration (i E I)
O otherwise.

The integer programming formulation for the assembly system design


problem is

Problem P:

Min Zi-= (fiyi + >J=o Xk-+ CiykXjk) (la)


subject to

=1 k*=j+l xijk =1 forall j E J (lb)


o Ek=+1 t kxikc bi for al i E I (Ic)
Ek=j+l Xijk - EIZ=0 Xilj = O foral iEI,jEJ (Id)

Ek=l XiOk- yi = O for al i E I (le)

Elyo xi,jN+l - yi = O for all iEI (if)


Xijk E {O, 1] for all iEIO c j<k*cN+ 1 (ig)
yi E {O, 1} for all i E I. (lh)

Problem P minimizes the total annual system cost given the annual
production volume requirements. The objective function (la) represents
the annual capital and operating costs as a function of the decision
variables. The first set of constraints (lb) specifies that each task j be
assigned to a work station, while constraints (ic) ensure that the amount
of work assigned to a particular station does not exceed the time available
at that station. Constraints (Id) through (if) are conservation of flow
constraints that enforce the precedence relationships of the tasks at each
work station; thus, if task j is assigned to a work station i, then it has an
immediate predecessor task I and successor task k (which may be the
dummy tasks 1 = 0 or k = N + 1). Furthermore, these constraints also
relate the task assignment variables (Xijk) with the work station select
variables (ye); if yi equals zero, so that station i is excluded from the
system design, then no task assignments are made to station i and the
variables are all zero.
To further highlight the nature of formulation P, we note that by
representing the work stations as vehicles and the tasks as delivery
points, we may interpret formulation P as a special type of vehicle routing
problem (Dantzig and Ramser [1959]). Specifically, nonhomogenous ve-
hicles are selected to make deliveries to nodes that are indexed such that
they must be visited in increasing order of index. As described below, this

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 527

precedence structure appears to make the problem easier to solve than


the general vehicle routing problem and suggests a specialized solution
procedure.

Example

In order to illustrate the use of formulation P, we apply the model to


the assembly of an automobile alternator (Nevins and Whitney [1978]),
which the exploded view of Figure 1 depicts. Table I describes the set of
tasks that must be performed in order to assemble the alternator. The
task numbers prescribe the precedence relationships of the tasks (i.e., the
tasks must be performed sequentially). Table I also specifies the tool
requirements for each task. We assume that a set of five work stations,
each being a computer-controlled robot, is available to perform the tasks
listed in the table. These robots are of two types, general purpose and
special purpose. The general purpose robots (referred to as G1 and G2)
are able to perform most or all of the required tasks. They have the
ability to use multiple tools and may be reprogrammed to meet changes
in the production environment. They differ both in their capability to
perform certain tasks and in their costs. In contrast, the three special
purpose robots (referred to as Si, S2, and S3), though less expensive than
the general purpose robots, have limited flexibility and are capable of
performing only a set of closely related tasks using a single tool. Si is a
special screwdriver station, while S2 and S3 are pick-and-place robots that
are specifically configured to do a subset of the tasks. See Graves and
Whitney [1979] for a fuller description of this equipment.
We assume that each of the work stations has 120,000 minutes of
available time annually, which are specified as the bi parameters in the
model. If a work station is selected, its time is consumed by performing
assembly operations, loading and unloading the product, and changing
tools. These three time components comprise the tijk parameters in
formulation P. Naturally, an assembly time is incurred at a work station
whenever that station performs a task. Since the precedence relationships
of the tasks are sequential, a work station incurs a load/unload time only
when that station performs the first task or when it performs a task j and
does not perform task j + 1. A work station incurs a tool-change time
only when it performs a task that requires a tool different from the tool
required for the succeeding task that it performed.
Table II lists the annual assembly, load/unload, and tool-change times
for the automobile alternator under consideration, assuming a production
rate of 1 unit per minute for 120,000 minutes per year. We note that the
tool-changing time for robots G1 and G2 is comparable to task-processing
time. This is a realistic feature for these assembly robots and illustrates
the importance of modeling tool changes in the system design problem.

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
528 Graves and Lamar

Three through bolts

Rear housin ng

Rotor

Rotor spacer

Three screws ____

Retainer

Bearing

Front housing

Fan spacer _

Fan

Pu I ley

Lock washer

Rotor nut

Figure 1. Exploded view of automobile alternator (Nevins and


Whitney [1978]).

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 529

TABLE I
DESCRIPTION oiF TASKS AND ToOL REQUIREMENTS FOR AN AUTOMOBILE
ALTERNATOR ExAmPLE

No. of ~Description of Task Tool Required


Task

1 Insert rotor nut Small 3-finger gripper


2 Insert lock washer Small 3-finger gripper
3 Insert pulley Small 3-finger gripper
4 Insert fan Small 3-finger gripper
5 Insert fan spacer Small 3-finger gripper
6 Insert front housing Small 3-finger gripper
7 Insert hearing Small 3-finger gripper
8 Insert retainer Small 3-finger gripper
9 Insert and tighten 3 screws Special screwdriver
10 Insert rotor spacer Small 3-finger gripper
11 Insert rotor Contracting collet
12 Tighten rotor nut Rotor-nut tightener
13 Insert rear housing Large 3-finger gripper
14 Insert and tighten 3 through bolts Bolt drivera

aWork station Si uses the special screwdriver to perform task 14.

Although the table itemizes the timning data for the load and tool-c
operations only by work station, formulation P allows these data to be
different for each work station and task.
In addition to timing information, formulation P requires cost infor-

TABLE II
TIME DATA FOR AN AUTOMoBiLE ALTERNATOR EXAMPLE

Time Coponent Work Station and Annual Time (I000s of minutes)a


G 0 2 Si S2 S3
Assembly time'
Taski1 12 8 -6
Task 2 12 8 -6 -
Task 3 12 8 -6 -
Task 4 12 8 -6 -
Task 5 12 8 - 6 -
Task 6 14 12 - - 6
Task 7 12 8 - -6
Task 8 12 8 - 6
Task 9 8 8 6 - -
TaskiG0 12 8 - -6
Taski11 12 20 -=
Task 12 12 18 - -
Task 13 12 20- -
Task 14 8 8 6 - -
Load/Unload time 2 2 2 2 2
Tool-change time' 12 8 = -

a Based on a production rate of 1 un


b'A dashed -)entry indicates an in
'A dashed -)entry indicates that a

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
530 Graves and Lamar

TABLE III
COST DATA FOR AN AUTOMOBILE ALTERNATOR EXAMPLE

Work Station and Annual Cost ($)


Cost Component
G1 G2 S1 S2 S3
Fixed Costa 72,000 46,000 15,000 15,000 15,000
Variable cost' 500 500 100 200 200

a Based on a 1-year payback period.


b Based on a production rate of 1 unit per min

mation. Table III supplies the data. The annual fixed costs correspond to
the fi parameters in P and represent the procurement of equipment,
including necessary tooling. The annual variable costs, which correspond
to the Cijk parameters in P, reflect costs such as electricity, labor, and
accessory costs which depend upon the volume of production. The
production rate for these costs in Table III is again 1 unit per minute for
120,000 minutes per year. Also, as with the timing data, although the
variable costs depend only on the work station, they may be made specific
to both the work station and the task.
Using the data supplied above, we obtained the optimal solution to
problem P using the techniques described in the following sections of this
paper. The optimal total annual cost for this problem is $80,300; Table
IV shows optimal work station selections and task assignments. According
to this solution, the special purpose robot S2 should perform the first five
tasks. The production system should then move the alternator assembly
to special purpose robot S3 which performs tasks 6 through 8. For task 9,
it should move the assembly to the general purpose robot G2. The system
performs task 10 by reloading the assembly onto robot S3 and then moves
the assembly back to robot G2 to perform tasks 11 through 14. It switches
the product between robots G2 and S3 for tasks 9, 10, and 11, in part,
because G2 does not have sufficient capacity to perform tasks 9 through
14. Table IV also shows the percent of time that the system will utilize
each of the selected work stations during an annual period. Whereas it

TABLE IV
OPTIMAL SOLUTION FOR AN AUTOMOBILE ALTERNATOR EXAMPLE

Work SationSelected in Opti- Task Assignments in Opti- Utiliztation


WOrk Station mal Solution mal Solution Utl(a%)tion
G, No - -
G2 Yes 9, 11, 12, 13, 14 92
S1 No - -
S2 Yes 1,2,3,4,5 27
S3 Yes 6, 7, 8, 10 23

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 531

nearly fully utilizes G2, its utilization of both S2 and S3 is less than 30%.
Nevertheless, this is cheaper than any alternative solution.
We note that the above example is purely illustrative; indeed, it is quite
simple and might be solved by inspection. In addition, we point out that
P does not explicitly consider the physical layout of the work stations.
Rather, we assume that a feasible layout of the work stations with
appropriate part feeding devices and adequate buffer stocks may be
constructed from the solution suggested by P. Accordingly, the solution
to P is intended as a useful aid for the assembly system designer.

Reformulation of the Problem

Problem P is a very large pure integer program. Rather than attempting


to solve P directly, we instead reformulate this problem as a generalized
linear program (Magnanti et al. [1976]) with binary variables. We then
solve two relaxations of the reformulation-a pure linear relaxation and
a mixed integer-linear relaxation. In the succeeding sections of this paper,
we show that these relaxations provide not only very tight lower bounds
to P, but also feasible candidate solutions to P that are near optimal.
To recast formulation P into a generalized programming framework,
we consider constraints (lb) as the "complicating" constraints and the
remaining constraints as the "easy" constraints. We observe that the
"easy" constraints separate by index i into M subproblems. The feasible
region for subproblem i is given by the set

Xi = {(xi, yi): (xi, yi) satisfies (lc)-(lh)} for all i E I (2a)

where xi denotes a vector with decision variable Xijk as the [1 + j +


k(k - 1)/2]th element of xi for 0 _ j < k _ N + 1. Since each set Xi is
bounded and constraints (ig) and (lh) require that xi and yi are integer,
each Xi contains a finite set of points. Hence, by letting Ri denote the
cardinality of set Xi for i E I, we may express Xi equivalently as

Xi= (XI(, Yi): r (1, ,R1}} for all i E I (2b)


where yi') is the rth point in set Xi. We let Xijk denote the [1 + j +
k(k - 1)/2]th element of vector X,r for 0 j < k _ N + 1.
To define the parameters for the reformulation, we observe that, if y,r
equals zero, then work station i is not used and X,r is the zero vector;
otherwise, for y,r equal to one, vector xir specifies a feasible assignment of
tasks to work station i. The cost associated with this assignment is

dir = E=N0 ENk=+1 CijkXijk (3)

We also define

aijr = E*k+l1 Xijk

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
532 Graves and Lamar

as a zero-one parameter to indicate whether or not task j is included in


the rth feasible assignment of tasks to work station i. With this notation,
the generalized linear programming reformulation of problem P becomes

Problem Q:

Min E (fyi + ri dirAir) (4a)


subject to

1 r=l aijr/Xir = 1 for all j E J (4b)


Er=, Air-yi = O for all i E I (4c)
XirE {O, 1} forall iEI,rE (1, ... ,Ri} (4d)

yi E {O, 1} for all i EI (4e)

where decision variable Xir is a zero-one variable denoting whether or not


the rth task assignment given by vector X,r is performed at work station
i.

Formulations P and Q are equivalent since there is a one-to-one


correspondence between their feasible solutions, and, since, by (3), the
objective function values for corresponding feasible solutions in the two
formulations are equal. Moreover, given a feasible solution to Q, we can
construct the corresponding feasible solution to P, and vice versa.

2. PURE LINEAR RELAXATION

Like problem P, problem Q is a very large pure integer formulation.


Accordingly, in this section and the succeeding section, we consider two
relaxations of problem Q. In this section, we describe the first relaxation,
referred to as problem Q', in which we replace the integrality contraints
(4d) and (4e), respectively, with

O Xir1 forall iCI,rE {1, ,Ri} (5a)

O_yi1 forall iE.L (5b)

Our interest in problem Q1 is threefold. First, by design, this problem is


a pure linear program whose solution procedure fits naturally into a
generalized programming algorithm (i.e. Dantzig-Wolfe decomposition).
Second, the optimal value of Q1 provides a tighter lower bound to the
optimal value of P than does the linear programming relaxation of P.
Third, we use Q1 to seek a feasible solution to the pure integer problem
P, and hence an upper bound to the optimal value of P.

Solution Procedure

To solve Q', we consider a column generation procedure applied to


problem Q (Dantzig and Wolfe [1961]), in which we require an efficient

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 533

means of evaluating each of the M subproblems. The feasible region for


each subproblem i is given by the set Xi defined in (2); the objective
function is

Vi(q7) = fiyi + Ey=O Zk-J+ (CiJk - 7Tj)Xijk (6)

where 7 = (fy) is the vector of dual multipliers associated with the


constraint set (4b), and v7o 0. Thus, subproblem i for i E I is

Problem Si:

Min vi(7)

subject to (xi, yi) E Xi.

We observe that, for yi = 0 we have xi = O and vi(7) = 0. When yi = 1, Si


is an acyclic shortest path problem together with a single time availability
constraint. Handler and Zang [1980] have suggested one approach to
solving problems of this structure. They maximize a Lagrangean relaxa-
tion of Si which relaxes the complicating constraint (ic) and then resolve
duality gaps by considering k-shortest-paths. We consider an alternative
approach which, for each index i, solves the subproblem with constraints
(ic) through (lh) as an expanded acyclic shortest path problem and
hence guarantees an integer solution.
To solve Si for yi = 1, we construct a network Gi with node set Ni and
arc set Ai. Node set Ni contains ordered pairs of elements (j, 1) in which
the first component represents a task assigned to station i and the second
component is the cumulative time consumed at work station i. Symboli-
cally,

Ni = {(j 1): j{ E ** N + 1),I z f{O, * bi}}. (7)


The arcs contained in the arc set Ai are of the generic form [ (j, 1),
(k, m)], corresponding to the performance of task j at work station i at
time I followed by the performance of task k at work station i at time m.
We maintain the strict precedence relationships of the tasks in network
Gi by requiring that

k { j if j Eo, N (8a)
=jif j=N+ 1.(a
We represent the time consumed at work station i when it performs task
j followed by task k in network Gi by letting

m -I1+
+ 1
tijk if I {0 to, N) (8b)
if IN +1.

Hence the arc [(j, 1), (k, m)] E Ai if and only if (j, 1), (k, m) E Ni and
(j, 1), (k, m) satisfy (8). A unit flow on arc [(j, 1), (k, m)] corresponds to
setting Xik = 1; thus, the arc-cost for arc [(j, 1), (k, m)] is (Cijk -Tj).

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
534 Graves and Lamar

Using this structure, we see that each path from node (0, 0) to node
(N + 1, bi) in network Gi corresponds to a solution to Si in which
Yi = 1. Stated another way, each path represents an integral assignment
of tasks to work station i which satisfies both the precedence relationships
(id) through (lf) and the time availability constraints (Ic) at work station
i. Hence, we solve Si with yi = 1 by finding the shortest path on Gi. The
shortest path problem may be readily solved by simultaneously construct-
ing and evaluating network Gi using a forward dynamic programming
procedure. If the parameters bi and tjk are integer, this procedure has a
computational complexity of 0 (N2. bi) operations (Lawler [1976]). If the
optimal value of this shortest path problem is less than -fi, then these
values are the optimal solution to Si; otherwise the optimal solution to Si
is yi = 0 and xi = O.

Lower Bound

We wish to show that problem Q1 provides a tighter lower bound to


the optimal value of the integer problem P than the linear programming
relaxation of P. For notational convenience, we let P denote the linear
programming relaxation of P and let v(A) denote the optimal value of
any problem A. Using this notation, we claim that

u (P) _: v (Q ) ',- u (P). (9)


The right inequality of (9) is trivial to obtain since, as we have observed,
problems P and Q are equivalent and problem Q1 is a relaxation of Q.
To demonstrate the validity of the left inequality of (9), we consider
the Lagrangean relaxation L(g) of P (Shapiro [1979]) derived by dualizing
constraints (lb) to obtain

Problem L(T):

Min Z=, [fiyi + ZJ=O E'lJ (cik - j)Xijk] + E =T1 Xj (10)


subject to (lc) through (lh),

where w = (vrj) is the vector of Lagrangean multipliers of constraint (lb)


with viO 0. The optimal value of 'v is obtained by solving the dual
problem

Problem D:

Max, v[L(tr)].

As shown in Magnanti et al. [1976], we may rewrite problem D as a linear


program whose dual problem is given by Q1. Thus, we have v(D) = v(Q1).
In addition, we note that the linear programming relaxation of L(,g) is, in
general, not equal to L(,g). This implies that Geoffrion's integrality

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 535

property [1974] does not hold so that v(P) _ v(D). Therefore, by simple
substitution, we obtain v(P) c v(Q). Moreover, computational results
show that v(P) < v(Q') is possible.

Upper Bound

The generalized programming procedure used to solve Q1 may also be


employed to seek an upper bound to the optimal value of problem P.
Specifically, in each iteration of the generalized programming procedure,
we test whether or not the decision variables {tXir} are integer. If so, then
the solution is a feasible solution to P and the corresponding objective
function value is an upper bound to v(P).
If, in the process of solving Q , we do not find an integer solution at
any iteration, we may employ a heuristic procedure to obtain a feasible
solution to P. Assume that the optimal solution to Q1 contains a fractional
task assignment; that is 0 < Xir < 1 for at least one i and r. To resolve the
fractional task assignments and construct a feasible solution to P, we find
the largest fractional variable, say Air, and round it up to one; we reset
At,. to zero for all r # r. This procedure assigns the task corresponding to
vector x{r to work station z. We then select the next largest fractional
variable and repeat the process until we have either assigned all tasks to
some work station or selected all available work stations. In the former
case, if a task is assigned to more than one work station, then we reassign
that task to the work station with minimal operating cost; this scheme
easily finds a feasible solution. In the latter case, this heuristic has failed
to find a feasible solution. This case is not a serious concern to us since
we can always find a feasible solution by expanding the candidate set I to
permit more work stations.
If we obtain a feasible solution to P, then comparing its objective
function value to the lower bound for v(P) gives a conservative a
posteriori measure of the near-optimality of the candidate solution.
Computational experience from a limited set of test problems and case
studies has indicated that not only do these upper bound procedures
nearly always generate a feasible solution to P, but also that the objective
function values of these solutions are very close to the optimal value of
P.

3. MIXED INTEGER-LINEAR RELAXATION

In the preceding section we demonstrated that problem Q 1, the linear


programming relaxation of problem Q, could be used to seek lower and
upper bounds to v(P), the optimal value of the integer program P. In this
section, we consider a second relaxation, referred to as problem Q2, in
which we linearize the Xir variables but maintain the integrality require-
ments for the yi variables used to select work stations. In other words,

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
536 Graves and Lamar

problem Q2 is problem Q with constraints (4d) replaced with constraints


(5a). This second formulation merits investigation since it provides a
tighter lower bound to v(P) than does Q1, and its solution permits us to
generate additional candidate solutions to P. Of course, since Q2 is a
mixed integer-linear formulation, its solution requires a greater compu-
tational effort than that for Q1. Below, we outline the solution procedure
employed to solve Q2 and describe the method of determining lower and
upper bounds to v (P). The procedure for seeking the upper bound also
supplies a feasible candidate solution to problem P.

Solution Procedure

Problem Q2 has M integer variables, namely the yi variables for i E I.


Thus, we may solve this relaxation by employing a standard branch-and-
bound procedure (Garfinkel and Nemhauser [1972]) on these variables.
The binary enumeration tree for the branch-and-bound procedure con-
sists of M levels in which each level specifies a yi variable as either zero
or one. For notational convenience, we define the sets

Io = {i: yi = O, i E I},

I,= {i:yi=O,iEI}.

Using this notation, we can specify a node in the enumeration tree by the
pair (Io, I,) where Io, I, are disjoint sets. For each such node, we define
problem Q2 with constraints (4e) replaced with

Yi = O for all i E Io (lla)

Yi = I for all i C I, (llb)

yi E {0, 1} for all i E I -(Io U I0). (llc)

We let Q2(Io, I) denote the linear programming relaxation of Q2(Io, I1) in


which constraints (llc) are linearized.
The branch-and-bound procedure enumerates, either explicitly or im-
plicitly, all nodes (Io, I,) in which Io U I, = I. We initiate the procedure by
solving Q1 which is equivalent to solving Q2(Io, I,) with Io = I, = 0. We
then evaluate problem Q2(Io, I,) at each node (Io, I,) either by solving the
linear program via the generalized programming procedure described in
Section 2 or by solving its dual problem via a subgradient optimization of
a Lagrangean relaxation (Shapiro [1979]). In the latter case, we evaluate
the Lagrangean relaxation given by (10), but with (11) replacing the
integer restriction on the yi variables in (lh). Based on the value of
Q2(Io I,), the branch-and-bound procedure may fathom a node (and all
of its descendents) in the enumeration tree if v[Q2(Io, I,)] exceeds the
value of the best known candidate solution to Q2; in addition, the branch

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 537

and bound procedure will also fathom a node if the solution to Q2(Io, I,)
is feasible in Q2, and thus yields a new candidate solution. If the procedure
cannot fathom a node (Io, II) by solving Q2(Io, I), then it "branches" on
a yi variable in which i 0 Io U I, to form two new nodes-one in which y
is one and the other in which yi is zero. We note that when Io U I, = I, the
solution to Q2(Io, I1) always fathoms node (Io, I,) since Q2(Io, II) =
Q2(Io, I,) and so any solution to Q2(Io, I) is also feasible in Q2. The
branch-and-bound procedure continues until it fathoms all nodes, at
which point the best candidate solution obtained is the optimal solution
to Q2.
In solving Q2(I, Ii), the choice between using generalized linear pro-
gramming versus solving a dual problem via a subgradient optimization
procedure depends on the desire for generating feasible candidate solu-
tions to the integer program P. The subgradient optimization procedure
is very efficient and provides a lower bound to Q2(Io, I,) at each iteration;
however, since it solves the dual problem, it yields a feasible solution to
Q2(Io I,) only when it has found the optimal solution. On the other hand,
the generalized linear programming procedure is a primal procedure,
which is less efficient, but which finds a feasible solution to Q2(Io, I) at
each iteration. These intermediate solutions are also feasible in P if all
the Xir variables are integer. In addition, the heuristic procedure described
in Section 2 may also be used to seek a feasible solution to P. Accordingly,
we use the primal procedure to evaluate Q2(Io, I,) when Io = I,=0 or
when Io U I, = I; at all other nodes, we use the subgradient evaluation
method. We have found such a procedure to be very effective in finding
near-optimal candidate solutions to P.
In summary, our solution procedure for P is a heuristic procedure
based on the two relaxations, Q1 and Q2. We first solve Q1 by a column
generation procedure to obtain a lower bound on v(P). In this process,
we generate feasible candidate solutions to P, the best of which provides
an upper bound on v(P). If this upper bound is sufficiently close to the
lower bound, we terminate the procedure. Otherwise, we solve the second
relaxation Q2 by a branch-and-bound procedure to obtain a better lower
bound on v(P). Again, in this process, we seek feasible solutions to P, the
best of which we take as our solution. The near-optimality of the best
feasible solution can be determined by comparison with the lower bound
given by v(Q2).

4. COMPUTATIONAL PERFORMANCE
We now examine the computational effectiveness of the solution pro-
cedure. To do this, we solved a series of test problems which used the
alternator example, presented in Section 1, as a prototype. Below, we
present the experimental plan undertaken to generate the test problems
and report the computational effort required in their solution.

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
538 Graves and Lamar

Experimental Plan

We consider a production setting in which three general purpose types


of work stations and five special purpose types of work stations are
available to assemble a product requiring the completion of up to 20
tasks. The Appendix contains the cost data, time data, and tool require-
ments for the test problems. This data is based on product information
from the automobile alternator example, and on available cost and
performance information for robots currently available to industry. The
experimental plan varies three different characteristics of the problem-
the number of multiple general purpose robots, the number of tasks, and
the production rate-in order to evaluate the effectiveness of relaxations
Q1 and Q2 under alternative problem specifications. Changes in the
number of work stations and tasks vary the complexity of the problems
while changes in the production rate simulate alternative production
environments.
In considering the number of general purpose work stations, it is often
necessary to allow the selection of more than one work station of a
particular type. We could represent multiple work stations by defining a
separate binary yi variable for each of the identical work stations. Hence
choosing up to seven identical work stations requires seven yi variables.
However, an alternative method for representing identical work stations
is to define multiple work stations consisting of 2' identical work stations,
n = 0, 1, 2, ... . For instance, a double work station (n = 1) represents
two identical work stations, and has twice the fixed cost and twice the
capacity of a single station. Hence to permit the choice of up to seven
identical work stations requires the specification of only three multiple
work stations: a single (n = 0), a double (n = 1), and a quadruple (n = 2)
work station. Thus, the second method permits representation of multiple
work stations with fewer yi variables.
The experimental plan divides the number of general purpose work
stations into three cases. The first case allows at most one of each general
purpose work stations, so that M equals 8. The second case allows at
most three of each general purpose work stations. This is done by defining
a double station for each general purpose work station and thus M = 11.
The third case allows at most seven of each general purpose work station
and is modeled in a similar manner so that M equals 14. The second
characteristic in the experimental plan, the number of tasks, is divided
into five categories by considering selected subsets of the 20 tasks. These
five categories contain two categories in which N is 10 (tasks 1-10 and
tasks 11-20), two categories in which N is 15 (tasks 1-15 and tasks 6-20),
and one category with N equal to 20 (tasks 1-20). The third characteristic,
the production rate, is set at three levels-2.0, 4.0, and 6.0 units per
minute.

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 539

In summary, implementation of this experimental plan results in the


investigation of a total of 45 test problems ranging in size from 8 to 14
work stations and from 10 to 20 tasks.

Results

For each of the 45 test problems, we solve the two relaxations, Ql a


Q2, in order to examine both the tightness of the lower and upper bounds
to the optimal value of the integer formulation P as well as the compu-
tational effort required to obtain these bounds. Of the 45 test problems,
42 are feasible in formulation P. Table V reports the deviation of the
lower and upper bounds obtained by solving Ql and Q2 from v(P), the
optimal value of P. For problem Q1, although the lower bound ranges as
much as 20% below v(P) and the upper bound ranges as much as 16%
above v(P), these bounds are equal in over one-half of the feasible test
problems. Even more interesting is the fact that, in 33 of the 42 problems

TABLE V
TIGHTNESS OF LOWER AND UPPER BOUNDS FOR TEST PROBLEMS

Absolute Deviation of Bounds from Optimal Value of Problem P (%)a

Relaxa- Lower bound Upper bound


tion
Maxi- Mini- Aver- Median Maxi- Mini- Aver- Median
mum mum age mum mum age

20.0 0.0 4.1 0.0 15.5 0.0 1.5 0.0


Q2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
a Based on 42 feasible test problems.

solved by Q1, the candidate solution associated with the upper bound is
the optimal solution to P (as verified by solving Q2). Thus, in three-
fourths of the problems, the optimal solution to the pure integer problem
P is obtained simply by solving the pure linear problem Q1.
For the test problems in which the lower and upper bounds obtained
by solving Q1 do not coincide, application of Q2 yields a further refinement
of these bounds. Remarkably, after completing the branch-and-bound
procedure used to solve Q2, the lower and upper bounds are equal for
each of the 42 problems, and hence the optimal solution to P is obtained.
The generalized programming procedure is by far the most common
method of obtaining the upper bound. It produces the best upper bound
in four-fifths of the feasible test problems, while the heuristic procedure
produces the best upper bound in only one-fifth of these problems.
Although solving Q2 yielded the optimal solution to P for all test
problems, there are examples in which solving Q2 does not solve P. In
addition to this computational experiment, we have used this solution

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
540 Graves and Lamar

procedure for a few assembly system design projects for actual industrial
products. For these projects, we have occasionally (roughly once in every
15-20 problem instances) found that solving Q2 did not solve P. However,
in all instances the solution procedure generated a feasible solution to P
with a solution value within 2% of v(Q2), which is a lower bound to v(P).
Table VI shows the computational effort required to solve each of the
42 feasible test problems by Q1 and Q2. The first measure of the com-
putational effort provided in the table is the running time in cpu seconds
on a PRIME 400 time-shared minicomputer. Although cpu time is
machine dependent (1 cpu second on a PRIME 400 is roughly equivalent
to 0.2 cpu seconds on an IBM 370/158) and may fluctuate with the
number of users sharing the machine, it still provides a rough basis of
comparison for computational results. For instance, we observe that, on
average, the running time of Q2 is roughly twice that of Q1. Since the Q2
running time includes the solution of the initial problem Q2(0, 0), which

TABLE VI
COMPUTATIONAL PERFORMANCE FOR TEST PROBLEMS

Computational Performance Measuresa

Relaxa- Total running timeb (CPU seconds) No. of problems evaluated in enu-
tion meration treec
Maxi- Mini- Aver- Median Maxi- Mini- Aver- Me-
mum mum age mum mum age dian

Q' 393.0 10.0 59.7 38.0-40.0 - - - -


Q2 1086.0 10.0 151.6 68.0-70.0 198.0 0.0 28.5 0.0

a Based on 42 feasible test problems.


'Using FORTRAN IV, VMODE on a PRIME 400 minicomputer.
C Excludes the initial linear program Q2(0,0).

is equivalent to Q ', we see that the computational effort required to solve


the initial linear program is approximately the same as that for the
evaluation of the remaining Q2(Io, I) problems in the enumeration tree.
The second measure in Table VI reflects the actual number of
Q2(Io, I) problems [other than the initial problem Q2(0, 0)] that the
branch-and-bound procedure solved in evaluating the enumeration tree.
Even though this number is as large as 198 for one test problem (with 14
available work stations and 20 tasks), we observe that, on average, the
procedure evaluated the enumeration tree fairly effectively. We attrib-
ute this fact to the tight upper bounds produced by the initial problem
Q 2@ 0).

5. MODEL REFINEMENT

The reported work on the station selection and task assignment prob-
lem in the context of assembly system design is part of an ongoing

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 541

research effort concerning the development of adaptable/programmable


assembly systems; this work is being conducted in conjunction with a
research team at the Charles Stark Draper Laboratory in Cambridge,
Mass. Our future work on the assembly system design problem will
include the refinement of the current model, given by P, to capture better
the essence of the work station selection and task assignment problem.
In addition, we intend to explore other aspects of the system design
process, as given in the introduction, and to try to understand better the
remarkable performance of our approximate solution procedure, as re-
ported in the previous section.
The desire to refine the current formulation is a consequence of our
experience using this model, and an earlier version of it (Graves and
Whitney [1979]), on industrial studies in which the research team at-
tempted to design an assembly system for an actual product or family of
products. Whitney et al. [1979, 1981] detail some of these case studies.
These studies indicate that the current model is generally very useful to
the design engineer. In particular, the model helps the assembly system
designer to consider both the economic tradeoffs and the feasibility
restrictions inherent in the design of the system. Furthermore, the
existence of the model as a design and evaluation tool has made the
designer more conscious of the economic criterion, and presumably has
resulted in better system designs. Despite this success, the case studies
have also identified three restrictions on the current model which limit
its effectiveness as a design tool.
First, the current formulation does not accurately model a work station
for which an upper limit exists on the number of different tasks that can
be assigned to it. This restriction is common for pick-and-place (fixed-
stop) robots that can access only a finite number of locations; in addition
this restriction can arise because of limitations on space for fixtures and
part feeders, as well as limitations on computer memory. To represent
this restriction, we need to augment P with the following set of constraints

Eo>J7o E A i xikf ni for all i E I (12)


where ni is the maximum number of tasks possible at work station i. We
can reformulate this augmented problem as a generalized program
wherein sets Xi defined in (2) also incorporate (12). This redefinition of
Xi results in a more complicated subproblem for the generalized linear
programnumng procedure; otherwise, the solution procedure given in Sec-
tions 3 and 4 remains unchanged.
Second, the current formulation does not model economies of scale, in
both operation time and cost, that occur when similar tasks are clustered
at a single work station. Formulation P assumes that distinct tasks are to
be considered independently, except for possible tool-change and load
times associated with the preceding and succeeding tasks performed at

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
542 Graves and Lamar

TABLE VII

COST DATA FOR TEST PROBLEMS

Cost Work Station and Annual Cost ($)


Component G, G2 G3 Si S2 S3 S4 S5
Fixed costa 72,000 46,000 70,000 15,000 15,000 15,000 15,000 15,000
Variable cost' 500 500 500 100 200 200 200 200

a Based on a 1-year payback period.


b Based on a production rate of 1 unit per minute for

that work station. However, this need not be the case since a particular
work station may be capable of performing a cluster of tasks more
efficiently than is suggested by the individual task times. To model these
economies of scale, we need to assume that the task clusters are not too
numerous and that these clusters can be identified a priori. Then the
dyamic programming procedure used to solve the subproblems Si may
be modified to evaluate each task cluster separately.

TABLE VIII

TIME DATA FOR TEST PROBLEMS

Work Station and Annual Time (lOOOs of minutes)a


Time Component
GI G2 G3 S1- S2 S3 S4 S5
Assembly timeb
Task 1 12 8 10 - 6 - - -
Task 2 12 8 10 - 6
Task 3 12 8 10 - 6
Task4 12 8 10 - 6
Task 5 12 8 10 - 6 - - -
Task 6 14 12 12 - - 6
Task 7 12 8 10 - - 6 - -
Task 8 12 8 10 - - 6
Task9 8 8 10 6 - - 6
Task 10 12 8 10 - - 6 -
Task 11 12 - 10 - - - -
Task 12 12 - 10 - - - - 6
Task 13 12 - 10
Task 14 8 8 10 6 - - - -
Task 15 12 8 10 - - - 6
Taskl16 12 8 10 - - - 6
Task 17 12 8 10 - - - 6
Task 18 12 8 10 - - - - 6
Task 19 12 8 10 - - - - 6
Task 20 12 8 10 - - - - 6
Load/Unloadtimne 2 2 2 2 2 2 2 2-
Tool-change timec 12 8 10

a Based on a production rate of 1 unit per minute for 120,


b A dashed (-) entry indicates an infeasible task/work s
'A dashed (-) entry indicates that a work station is unable to change tools.

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 543

Finally, the current formulation does not model the fixed tooling costs
associated with the purchase and maintenance of tools necessary for the
system design. This cost depends upon the task assignments that dictate
the tools needed at each work station. To model the fixed tooling cost in
P, we need to introduce a new set of zero-one variables to denote whether
or not a particular tool is needed at a work station. We cannot solve the
resulting formulation with the present solution method. However, we
note that the inclusion of fixed tooling costs in the model is critical only
when these costs are significant and when candidate system designs may
require that certain tooling be duplicated at various work stations.

TABLE IX

TOOL REQUIREMENTS FOR TEST PROBLEMS

No. of Task Tool Required

1 Small 3-finger gripper


2 Small 3-finger gripper
3 Small 3-finger gripper
4 Small 3-finger gripper
5 Small 3-finger gripper
6 Small 3-finger gripper
7 Small 3-finger gripper
8 Small 3-finger gripper
9 Special screwdriver
10 Small 3-finger gripper
11 Contracting collet
12 Rotor-nut tightener
13 Large 3-finger gripper
14 Bolt drivera
15 Special screwdriver
16 Special screwdriver
17 Special screwdriver
18 Rotor-nut tightener
19 Rotor-nut tightener
20 Rotor-nut tightener

a Work station S1 uses the special screw

APPENDIX

Tables VII, VIII, and IX contain, respectively, the cost data, the time
data, and the tool requirements used in the experimental plan outlined in
Section 4.

ACKNOWLEDGMENTS

This work was supported by the National Science Foundation under


Grant DAR77-23712 made to The Charles Stark Draper Laboratory, Inc.,

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
544 Graves and Lamar

Cambridge, Mass. The authors wish to acknowledge the very helpful


comments and criticisms of Dr. Daniel E. Whitney of The Charles S.
Draper Laboratory throughout the duration of this work. The authors
are also grateful to Professor Thomas L. Magnanti of the Massachusetts
Institute of Technology and to Mary Anne Causino for their thoughtful
reading of the manuscript. Finally, the authors thank the three referees
for their suggestions that have resulted in an improved paper.

REFERENCES

Business Week. 1980. Robots Join the Labor Force, pp. 62-65+ (June 9).
BYLINSKY, G. 1979. Those Smart Young Robots on the Production Line. Fortune,
pp. 90-93+ (Dec. 17).
DANTZIG, G. B., AND J. T. RAMSER. 1959. The Truck Dispatching Problem.
Mgmt. Sci. 6, 81-91.
DANTZIG, G. B., AND P. WOLFE. 1961. The Decomposition Algorithm for Linear
Programming. Econometrica 29, 767-778.
DONLAN, T. G. 1980. Automation Moves On: Jobs Are Opening Up on the
Assembly Line for Robots. Barrons, pp. 4-5+ (June 2).
FRIEDRICH, O., C. REDMAN AND J. C. SIMPSON. 1980. The Robot Revolution.
Time, pp. 72-78+ (Dec. 8).
GARFINKEL, R. S., AND G. L. NEMHAUSER. 1972. Integer Programming. John
Wiley & Sons, New York.
GEOFFRION, A. M. 1974. Lagrangean Relaxation for Integer Programming. In
Mathematical Programming Study 2, pp. 82-114. North-Holland, Amsterdam.
GRAVES, S. C., AND D. E. WHITNEY. 1979. A Mathematical Programming Pro-
cedure for Equipment Selection and System Evaluation in Programmable
Assembly. In Proceedings of the 18th IEEE Conference on Decisions and
Control, pp. 531-536, Ft. Lauderdale, Fla. (December).
HANDLER, G. Y., AND I. ZANG. 1980. A Dual Algorithm for the Constrained
Shortest Path Problem. Networks 10, 293-310.
IGNALL, E. J. 1965. A Review of Assembly Line Balancing. J. Indust. Eng. 16,
244-254.
LAMAR, B. W. 1980. Optimal Machine Selection and Task Assignment in an
Assembly System Design Problem, M. S. thesis, Operations Research Center,
Massachusetts Institute of Technology.
LAWLER, E. L. 1976. Combinatorial Optimization: Networks and Matroids. Holt,
Rinehart & Winston, New York.
MAGNANTI, T. L., J. F. SHAPIRO AND M. H. WAGNER. 1976. Generalized Linear
Programming Solves the Dual. Mgmt. Sci. 22, 1195-1203.
NEVINS, J. L., AND D. E. WHITNEY. 1978. Computer-Controlled Assembly. Sci.
Am. 238, 62-74.
NICHOLSON, T., R. THOMAS AND W. D. MARBACH. 1979. Blue-Collar Robots.
Newsweek, pp. 80-81 (Apr. 23).
SCHEFTER, J. 1980. New Workers on the Assembly Line: Robots that Think.
Popular Science, pp. 46-57 (June).
SHAPIRO, J. F. 1979. A Survey of Lagrangean Techniques for Discrete Optimiza-
tion. In Annals of Discrete Mathematics 5: Discrete Optimization, pp. 113-

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms
Integer Programming for Assembly Design 545

138, P. L. Hammer, E. L. Johnson and B. H. Korte (eds.). North Holland,


Amsterdam.
U.S. News and World Report. 1979. New Hand in the Workplace-The Robot,
pp. 73-74 (Dec. 31).
WHITNEY, D. E., T. L. DEFAZIO, R. E. GUSTAVSON, D. E. KILLORAN, D. S.
SELTZER, S. C. GRAVES AND T. M. HUTTNER. 1979. Design and Control of
Adaptable-Programmable Assembly Systems-First Report, Report No. R-
1284, The Charles Stark Draper Laboratory, Inc., Cambridge, Mass. (August).
WHITNEY, D. E., P. M. CATALANO, T. L. DEFAZIo, R. E. GUSTAVSON, A. S.
KONDOLEON, J. L. NEVINS, D. S. SELTZER, S. C. GRAVES AND B. W. LAMAR.
1981. Design and Control of Adaptable-Programmable Assembly Systems-
Final Report, Report No. R-1406, The Charles Stark Draper Laboratory, Inc.,
Cambridge, Mass. (January).

This content downloaded from


202.0.107.126 on Mon, 13 Jan 2025 05:16:22 UTC
All use subject to https://about.jstor.org/terms

You might also like