5. an Integer Programming Procedure for Assembly System Design Problems
5. an Integer Programming Procedure for Assembly System Design Problems
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
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
and
Problem P:
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
Example
Rear housin ng
Rotor
Rotor spacer
Retainer
Bearing
Front housing
Fan spacer _
Fan
Pu I ley
Lock washer
Rotor nut
TABLE I
DESCRIPTION oiF TASKS AND ToOL REQUIREMENTS FOR AN AUTOMOBILE
ALTERNATOR ExAmPLE
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
TABLE III
COST DATA FOR AN AUTOMOBILE ALTERNATOR EXAMPLE
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
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.
We also define
Problem Q:
Solution Procedure
Problem Si:
Min vi(7)
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).
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
Problem L(T):
Problem D:
Max, v[L(tr)].
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
Solution Procedure
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
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.
Experimental Plan
Results
TABLE V
TIGHTNESS OF LOWER AND UPPER BOUNDS FOR 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
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
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
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
TABLE VII
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
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
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
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-