assembly system design: a branch and cut...
TRANSCRIPT
ASSEMBLY SYSTEM DESIGN: A BRANCH AND CUT APPROACH
Anulark PinnoiAsian Institute of Technology
Bangkok, Thailand and
Wilbert E. WilhelmDepartment of Industrial Engineering
Texas A&M University, College Station, TX 77843-3131Revised: September 19, 1996
ABSTRACT
This paper addresses the single-product assembly system design problem (ASDP) which seeks to
minimize total cost by optimally integrating design (selecting the machine type to locate at each
activated station) and operating issues (assigning tasks to observe precedence relationships and cycle
time restrictions). We propose an effective branch-and-cut approach for solving single-product
ASDPs, adapting inequalities known to be valid for embedded line balancing structures to form
inequalities that are valid for the ASDP. The implementation also involves a specialized preprocessor,
a heuristic, separation procedures, and an enumeration scheme. Computational tests establish
benchmark results for this first implementation of cutting planes for solving the ASDP.
ACKNOWLEDGEMENT
This material is based on work supported by the National Science Foundation on Grant number DDM-
9114396. The authors thank the OSL development group of IBM, including Dr. John Forrest, Dr.
Rob Clark, and Mr. Herbert Schultz, for their assistance and for providing a pre-release version of OSL
to support this work. We also thank Professor Thomas R. Hoffmann for providing data for the
"standard" assembly line balancing problems and Mr. J. W. Krueger, Mr. Luis Giraldo, and Mr. Steven
Loafman of Texas Instruments for providing actual industrial data on which we could base a test
problem. Finally, we are indebted to two anonymous referees whose comments allowed us to
strengthen an earlier version of this paper.
1
Global competition, shorter product life cycles, product complexity, and technological innovation - all
are driving significant changes in assembly methods. In particular, computer-aided systems provide the
flexibility to operate profitably in today's environment of continuous change. The design of an
assembly system must result from a strategic perspective (Ghosh and Gagnon 1989) to incorporate the
most appropriate methods (e.g., robots).
The purpose of this paper is to describe an implementation of a cutting plane approach to the
assembly system design problem (ASDP). Our formulation of the ASDP (see section 2.0) prescribes
the minimum cost design, integrating design decisions such as (D1) the number of stations and (D2)
type of machine located at each station with operating issues such as assigning tasks to each station
while observing (O1) precedence relationships among tasks and (O2) cycle time restrictions at all
stations. Cycle time (in seconds/product) is determined from the reciprocal of the production rate (in
products/planning period), which is specified to satisfy customer demand, so that c = Cycle time =
(Production rate)-1 (seconds/planning period).
The ASDP is related to the classical assembly line balancing problem (ALBP), which prescribes
the minimum number of (identical) stations, assigning tasks to stations while observing precedence
relationships and cycle time restrictions. The ASDP contains the ALBP as an embedded component
but also requires that appropriate hardware be specified and deals with a cost-based objective instead
of a technological one (i.e., the number of stations).
A substantial amount of research has addressed the ALBP over the past three decades,
resulting in numerous heuristics as well as several effective optimizing methods which employ
specialized branch and bound approaches. Since these methods are specifically designed to minimize
2
the number of stations, they cannot deal with the ASDP.
Recently, cutting plane methods have performed successfully in a variety of applications. That
experience motivated us to study underlying polyhedral structures, seeking an effective solution
approach for the complex ASDP. Pinnoi and Wilhelm (1994a) identify valid inequalities and facets for
the ALBP; this paper shows how to adapt them to form valid inequalities for the ASDP. This paper
also presents a specialized implementation of branch and cut including a preprocessor, a heuristic,
separation procedures, and an enumeration scheme.
This body of this paper is organized in six sections. Section 1 reviews prior research on the
ASDP and cutting plane methods. Section 2 introduces our formulation of the ASDP, Section 3
presents families of valid inequalities, and Section 4 describes our branch and cut implementation.
Section 5 relates our computational tests conducted on problems adapted from the literature, taken
from industry, and generated randomly. Tests systematically evaluate important design factors and
establish benchmark results. Section 6 provides conclusions.
1. LITERATURE REVIEW
1.1. The Assembly System Design Problem. Ghosh and Gagnon 1989) conclude that most recent
research on the ASDP has sought to optimize an economic criteria such as total cost. In addition, they
suggest that design issues (e.g., line size and machine selection) be integrated with operating issues
(e.g., task related considerations). Important design issues have been summarized by Buxey, Slack and
Wild (1973), Ghosh and Gagnon (1989), and Soni (1990).
Pinto, Dannenbring and Khumawala (1983) described a method to simultaneously select a
processing alternative and assign tasks to stations to minimize labor (regular time as well as overtime)
3
and fixed costs over the expected life of an assembly line. They formulated an integer program and
solved it by a specialized branch and bound algorithm.
Graves and Lamar (1983) studied the design of automated, single-product assembly systems.
They introduced a 0-1 integer program to select stations from a set of nonidentical possibilities and
assign tasks to stations so that total cost was minimized. Lower and upper bounds on the optimal
solution value were obtained from two relaxations by applying column generation and branch and
bound algorithms. Graves and Redfield (1988) subsequently extended the model to a multiproduct,
flexible assembly environment.
Recently, Lee and Johnson (1991) studied the design of flexible assembly systems with the
objective of minimizing the costs of work-in-process inventory, machine investment and maintenance,
and material-handling. They addressed five design factors (the number of stations, the number of
parallel machines at a station, task assignment, the number of pallets and fixtures, and the number of
automated guided vehicles) by iteratively using two complementary approaches, integer programming
and queuing network models.
1.2. Cutting Plane Methods. A substantial amount of effort has been directed in the past two
decades toward the study of polyhedral structures of integer problems. Valid inequalities and facets
have been developed for a variety of problems, such as the covering, packing, and knapsack problems
(Padberg 1979); the fixed charge problem (Padberg, Van Roy and Wolsey 1985); the linear ordering
problem (Grotschel, Jünger and Reinelt 1984); scheduling problems (Balas 1985); and the capacitated
plant location problem (Leung and Magnanti 1989). The underlying concepts of the cutting plane
method are described by Nemhauser and Wolsey (1988) along with a more complete list of current
4
applications.
Crowder, Johnson and Padberg (1983) reported remarkable computational results, solving
real-world, large-scale 0-1 integer problems characterized by sparse constraint matrices. By
decomposing a 0-1 problem into knapsack subproblems, the intersection of underlying knapsack
polytopes was shown to provide a good approximation of the polytope associated with the original
problem. Even though no special structure was exploited, the combination of preprocessing, cutting
planes, and branch and bound solved a set of real-world problems to optimality with encouraging
times. Their successful results stimulated interest in applying polyhedral theory and cutting planes to
solve other integer programs.
2. PROBLEM FORMULATION
Our formulation of the ASDP prescribes a minimal cost solution to integrate design issues (D1) and
(D2) with operating issues (O1) and (O2) and is based on the following assumptions:
(A1) Cycle time, processing times, and precedence relationships are known deterministically.(A2) No task processing time is larger than the cycle time.(A3) Task processing times are additive and independent of the task sequence.(A4) A system consists of a series of stations.(A5) Setup time for a task is negligible (or included in task time).(A6) There are no zoning restrictions or other special-case constraints.(A7) Each task must be assigned to one of a specified set of alternative machines.(A8) One machine must be assigned to each activated station.
Assumptions (A1)-(A6) are fundamental ones that are typically invoked to structure even the ALBP.
Assumption (A7) reflects the fact that machine types must be selected in the ASDP, and assumption
(A8) provides a convenient viewpoint for interpreting the model in this paper. However, models
presented by Pinnoi and Wilhelm (1996b) show that this "machine" may actually represent identical,
parallel machines or, perhaps, co-operative robots. Thus, this assumption is not restrictive. If
5
assumptions (A5) and (A6) were relaxed, more complex systems would be modeled. However, these
relaxations would deal with problem-specific cases; this paper deals with a fundamental, generic model
of assembly system design, and the valid inequalities we use here could be used in the more complex
cases as well.
With notation summarized in Table 1, we formulate the ASDP as a 0-1 integer program:ASDP: Min Z = m s tm m s m t
m s m s t
f y g x + ∑ ∑ ∑ ∑ ∑ 1
st m s tm s
x∑ ∑ 2 = 1 t e T; (1)
m s im s
s x∑ ∑ 3 ≤ m s jm s
s x∑ ∑ 4 ∀ i ∈ M(j); (2)
m s tm tt
p x ∑ 5 ≤ m sc y 6 ∀ m, ∀ s (3)
msm
y∑ 7 ≤ 1 ∀ s; (4)
xmst, yms = {0, 1} ∀ m, s, t. (5)
The problem is to prescribe the number of stations, locate a machine at each station, and assign each
task to a machine with the objective of minimizing total (i.e., fixed and variable) cost. The fixed cost
associated with a machine of type m, fm, may include annualized capital cost and costs for installation
and maintenance. If machines are already on hand, fixed cost may include the cost of relocation rather
than capital cost. Variable operating cost gmt may include assembly, labor, and other costs that depend
on task assignment. If only one machine type is considered, minimizing the number of stations is
sufficient as in the ALBP (Baybars 1986).
Constraint (1) requires that each task be assigned to one machine type at one station.
Constraint (2) invokes precedence relationships between tasks (i.e., specifically, between task j and
each task i in the set of immediate predecessors of j, M(j)). Task i must be assigned to a station whose
number is less than or equal to the one to which task j is assigned. Constraint (3) assures that the total
6
processing time assigned to a machine does not exceed the cycle time, c. Constraint (4) guarantees
that at most one machine type can be assigned to each station, and constraint (5) invokes binary
requirements.
The formulation allows the processing time of a task, pmt, to depend upon the machine type to
which it is assigned (see assumption (A7)). For subsequent use, we define, for t ∈ T,
min-t
m = p 1{pmt} = the minimum processing time of task t on alternative machine types
max+t
m
= p 8{pmt} = the maximum processing time of task t on alternative machine types.
We define P as the convex hull of all feasible integer points for the ASDP, so that P = conv {
(x,y) ∈ R|N|: (x,y) satisfies constraints (1) - (5)}, where N is the set of decision variables. In the next
section, we present some families of valid inequalities for P.
If yms is fixed at 0, a number of xmst variables must also be fixed at 0, since xmst ≤ yms, for t e T.
Given that all yms are fixed at 0 or 1, we can further reduce the number of variables by dealing with xst
instead of xmst. Thus, by fixing yms variables, the ASDP can be reduced to:
RASDP: Min Z' = s ts t s t
g x ∑ ∑ 9
st s t s
x∑ 10 = 1 ∀ t; (6)
s is
s x∑ 11 ≤ s js
s x∑ 12 ∀ i ∈ M(j); (7)
s ts tt
p x ∑ 13 ≤ c 14 ∀ s;
xst = {0, 1} ∀ s, t. (8)
The RASDP is the ALBP, except that the processing time of each task is allowed to depend upon the
station to which it is assigned. The ALBP may be formulated as:
ALBP: Min Z" = { s , | T |s
s x∑ 15 | (6)-(8) and s ttt
p x ∑ 16 ≤ c 17 ∀ s}
in which the objective is to minimize the number of stations (i.e., the station to which the last task is
7
assigned). We now establish the complexity of the ASDP.
Proposition 1: The ASDP defined by (1)-(5) is NP-Hard.
Proof: By restriction, fixing yms variables reduces the ASDP to the RASDP and setting pmt = pt ∀ m
yields the ALBP, which is well-known to be NP-Hard (Baybars 1986). Q.E.D.
The relationships among these problems motivated us to begin by studying the ALBP.
3. FAMILIES OF VALID INEQUALITIES
Part I (Pinnoi and Wilhelm 1994a) studied the polyhedral structure of the ALBP, deriving several
families of valid inequalities and showing that they define facets under certain conditions. In this
section, we show how those results can be adapted to obtain valid inequalities for the ASDP.
We rely upon relationships between the ASDP and the node packing problem (NPP). The
NPP in an undirected graph is to prescribe a packing, a node set whose elements are not pairwise
adjacent, of maximum cardinality. Pinnoi and Wilhelm (1994a) establish that the polytope of a
specially constructed NPP is a relaxation of the ALB polytope and use that relationship to identify valid
inequalities for the ALBP. Using parameters f(i), a*j(i, s), ß*
j(i, s), ?*ij, Ej, and Lj, we construct an
intersection graph on which the NPP associated with the ASDP is posed:
Definition 1. An intersection graph G- = (U, F) is an undirected graph in which U = {u: u =
(m, s, t)} and for u1 = (m1, s1, t1), u2 = (m2, s2, t2) ∈ U, there exists arc (u1, u2) ∈ F only if t1
cannot be assigned to m1 at station s1 when t2 is assigned to m2 at station s2.
We initiate construction of graph G- using rules R1-R4 of Pinnoi and Wilhelm (1994a) to define certain
constituent arcs. We incorporate arc (u1, u2) ∈ F if any of the following rules apply:
R1 (assignment) t1 = t2
8
R2 (precedence) t1 ∈ A(t2) and s2 ≤ s1 + 1 2
* t tγ 2 - 1
R3 (upstream capacity)t2 ∈ f(t1) and 2tE 3 ≤ s2 ≤ s1 +
2
*1 1t ( , )t sα 4 - 1
R4 (downstream capacity) t2 ∈ f(t1) and s1 - 2
*1 1t ( , )t sβ 5 + 1 ≤ s2 ≤
2tL 6
Rule R1 follows from assignment constraint (1), requiring that at most one node associated with task t,
u = (m, s, t), be in a packing. Therefore, all pairs of nodes that are associated with the same task must
be connected. Rule R2 enforces precedence requirements (2); that is if we assign task t2 to station s2,
then we cannot assign its predecessor, t1, to a station that comes after s2 - 1 2
* t tγ 7. We apply R2 to all
predecessors of task t2. Rule R3 considers the capacity of upstream stations to handle precedence-
unrelated tasks, t1 and t2, and their predecessors. If task t1 is assigned to station s1, task t2 cannot be
assigned to any station at or before1 2
*1 1t t + ( , ) - 1t sE α 8, due to limited capacity at upstream stations.
Similarly, rule R4 considers the capacity of downstream stations to process precedence-unrelated tasks
t1, t2, and their successors. If task t1 is assigned to station s1, task t2 cannot be assigned to any station at
or after 1 2
*1 1t t - ( , ) + 1t sL β 9.
We deal with cycle time constraint (3) by defining additional arcs using a modification of Rule
R5 of Pinnoi and Wilhelm (1994a) and a new rule R6. R5 and R6 are necessary, since processing time
may depend upon the machine type to which a task is assigned in the ASDP.
R5 (processing time 1) s1 = s2 and 1 2
- -t t + > cp p 10
R6 (processing time 2) s1 = s2 and 1 1 2 2, , m t m t + > cp p 11
Rules R5 and R6 invoke cycle time constraint (3) for tasks t1 and t2 assigned to the same station (s1 =
s2) (since s1 = s2, assumption (A8) requires that m1 = m2 also). By R5, if 1 2
- -t t + > cp p 12, we cannot
assign tasks t1 and t2 to the same station. By Rule R6, if 1 1 2 2, , m t m t + > cp p 13, we cannot assign tasks t1
9
and t2 to the same machine type. Notice that an arc connecting a pair of nodes may satisfy more than
one of the six rules and that R1-R6 may not identify all possible arcs.
The NPP on G- is a relaxation of the ASDP, since each feasible task assignment is a feasible
node packing, but there are node packings that are not feasible task assignments. Hence, P is
contained in the NP polytope, and any inequality which is valid for the NP polytope must also be valid
for P.
G- may contain a complete subgraph or clique for which an associated clique inequality
defines a facet for the NP polytope (Nemhauser and Wolsey 1988). One example of such a clique
inequality is assignment constraint (1). Since P is contained in the NP polytope, all clique inequalities
based on G- are valid for P.
We now adapt inequalities valid for the ALBP to yield valid inequalities for the ASDP.
3.1. A Family of Valid Inequalities Based on (m, s)-Cliques. The (m, s)-clique inequality relates to
a machine of type m located at station s. Given particular values of m and s, we restrict consideration
to yms and variables xmst for t e T. Denote a clique in G- as Kms = {(m, s, t): for some t ∈ T} ⊆ U and
the associated set of tasks as T(Kms) = {t: (m, s, t) ∈ Kms}. The following inequality suggests that at
most one task in T(Kms) could be assigned to a machine of type m at station s due to a combination of
the precedence relationships, capacities needed to process predecessors upstream and successors
downstream, and cycle time requirements. Note that this family of inequalities implies the inequality
xmst ≤ yms for t e T.
Proposition 2. Given m and s, inequality (9) is valid for P:
m s
m s t m st T ( )K
yx ,∈
≤∑ 14. (9)
Proof. If yms = 0, inequality (9) is valid, since, by cycle time constraint (3), xmst = 0 for all t. If yms = 1,
10
inequality (9) is a clique inequality which is valid for P. Q.E.D.
3.2. A Family of Horizontal Packing Cover Inequalities. Given particular values of m and s, we
consider a single cycle time inequality (3) as a knapsack constraint. A minimal cover associated with a
knapsack constraint is defined by Nemhauser and Wolsey (1988) as
m s tt C
x | C | - 1∈
≤∑ 18
in which C is a "cover" for which m tt C
p∈∑ 19 > c and is minimal in the sense that m t
t C
p′∈
∑ 20 ≤ c for
every subset C' ⊂ C. A minimal packing cover (Pinnoi and Wilhelm 1994a) is a set of variables (or
nodes) which defines a minimal cover as well as a node packing. Given m and s, we denote C as a set
of tasks associated with a minimal packing cover of G- and
X(C) = {t ∈ T \ C: pmt ≥ pmj for all j ∈ C} ∪ C
as the extension of C, which includes each task that is not in the minimal cover for which processing
time is greater than or equal to the processing times of all tasks in the minimal cover.
Proposition 3. If C is a minimal packing cover of G-, then inequality (10) is valid for P:21. (10)
Proof. If yms = 0, inequality (10) is valid, since, by cycle time constraint (3), xmst = 0 for all t. If yms = 1,
inequality (10) is a (horizontal) packing cover inequality which is valid for P by the definition of X(C).
Q.E.D.
We call (10) a horizontal packing cover inequality, since it involves only variables included in
the row of cycle time constraint (3) (i.e., in a horizontal orientation). In contrast, the next packing
cover inequality includes other variables through precedence relationships.
3.3. A Family of Packing Cover Inequalities with Precedence Relationships. Given values of m
and s, we consider a single cycle time inequality (3) as a knapsack constraint. Let C be a minimal
11
packing cover in G- obtained relative to this knapsack constraint as in inequality (10) (a pair of tasks in
C may either be precedence-related or unrelated). We now introduce notation that allows us to
describe precedence relationships for tasks in the minimal packing cover.
Construct directed graph G(C) by considering C as a node set and arc (i, j) to represent the
precedence relationship between each pair of tasks i, j ∈ C. Note that if C = T, then G(C) is
connected, and H ⊆ G(C), where H is the precedence network which includes only arcs representing
immediate precedence relationships. It is obvious that G(C) may not be connected, since tasks in C
may be precedence-unrelated. Therefore, we denote Gk(C) ⊆ G(C) as a connected subgraph and Ck as
the set of nodes (tasks) of Gk(C) (1 ≤ |Ck| ≤ |C|). As a result, for k ≠ l, Ck ∩ Cl = ∅ and
kU k = CC 15. Associated with Ck, we define ˆkΘ 16 as a subset of the arc set of Gk(C),
ˆkΘ 17 = {(i, j): i, j ∈ Ck and i ∈ A(j)} such that ˆk| |Θ 18 ≤ |C| - 1, and ˆ ˆ = kk
Θ ΘU 19.
As a result, ˆ| |Θ 20 ≤ |C| - 1.Example 1. Consider C = {11, 13, 15, 16} and immediate precedence relationships:
11 → 15 → 16 C1 = {11, 15, 16}
13 C2 = {13}
We can form two disjoint subsets of C, C1 and C2, based on precedence relationships. Then, we can
choose ˆ1Θ 21 = {(11,15), (11,16)} and ˆ2Θ 22 = ∅ .
Proposition 4. Given m and s, inequality (11) is valid for P:
( ) ( ) ( )ˆ
ˆi
j
s - 1L
m sm s t r q i r q j m st C r q = s + 1 q =(i , j) E
y yx x x + + C - 1 + 1 - ∈ ∈ Θ
≤ Θ∑ ∑ ∑ ∑ ∑ 23.(11)
12
Proof. If yms = 1, (11) is valid for P (Pinnoi and Wilhelm (1994a). If yms = 0, xmst = 0 for all t by cycle
time constraint (3). Since ˆ| |Θ 24 ≤ |C| - 1, (11) is valid for P. Q.E.D.
Inequality (11) is a minimal packing cover strengthened by the precedence relationships
(represented by the summation over (i, j) e Θ̂ 25 and the term ˆ Θ 26(1 - yms).
3.4. Other Families of Valid Inequalities. Other families of valid inequalities for the ALBP can be
easily modified for the ASDP by summing xmst over index m. For completeness, we relate other valid
inequalities derived in this manner but refer the reader to Pinnoi and Wilhelm (1994a) for detailed
proofs that they are valid and, under certain conditions, define facets of the polytopes associated with
some embedded structures of the ALBP .
?-Clique Inequality. For tasks i, j e T, let i ∈ A(j) and max (Ei + 1, Ej - ?*ij + 1) ≤ s/ ≤ min (Li, Lj -
?*ij). A clique inequality based on precedence relationships (i.e., a ?-clique inequality) can be written
for the ASDP as
/ *i ji
/j
+ - 1sL
m s i m s jm m s = s = Es
x x + 1 .γ
≤∑ ∑ ∑ ∑ 27 (12)
Inequality (12) assures that i can be assigned to a station at or after s/ only if j is not assigned to a
station at or before s/ + ?ij* - 1. Since ?-clique inequality (12) was shown by Pinnoi and Wilhelm
(1994a) to define a facet for the ALBP under certain conditions, it seems favorable to replace
precedence constraint (2) by inequality (12) for all s/.
a-Clique Inequality. The a-clique inequality results from the limited upstream (station) capacity for
processing predecessors of two precedence-unrelated tasks i, j, i ∈ f(j). For t ∈ A(i) ∩ A(j), (i.e., t is
a predecessor of both i and j) and Ej - aj*(i, s/) + 1 ≤ s/ ≤ Li,
13
/ * // j t
*i j
+ (i, ) - 1s s Ls
m s i m s j m s tm s = m s = m s = E E s
x x x + + 1 ,α
≤∑ ∑ ∑ ∑ ∑ ∑ 28 (13)
in which s* = max {s/ - ?ti* + 1, s/ + aj
*(i, s/) - ?tj*}.
a-clique inequality (13) suggests that if i is assigned to a station at or before s/, j cannot be
assigned to a station before s/ + aj*(i, s/), due to the upstream capacity; and t cannot be assigned to a
station after (s* -1), due to the precedence relationships.
ß-Clique Inequality. A similar idea can be applied to the capacities that are required to process
successors downstream. Given that j ∈ f(i), t ∈ B(i) ∩ B(j), and Ei ≤ s/ ≤ Lj + ßj*(i, s/) - 1,
*ji
/ */ / tj
LL s
m s i m s j m s tm m m s = s = s = - (i, ) + 1 Es s s
x x x + + 1 ,β
≤∑ ∑ ∑ ∑ ∑ ∑ 29 (14)
in which s* = min {s/ + ?it* - 1, s/ - ßj
*(i, s/) + ?jt*}.
ß-clique inequality (14) suggests that if i is assigned to a station at or after s/, j cannot be
assigned to a station after s/ - ßj*(i, s/), due to the limitation of downstream capacity; and t cannot be
assigned to a station before (s* -1), due to the precedence relationships.
a- and ß-Related Inequalities. The parameter a*j(i, s) [ß*
j(i, s)], in fact, depends upon the earliest
[latest] station of predecessors [successors] of both i and j. The value of a*j(i, s) is calculated based on
the upstream capacity from stations 1 to s. Consider t ∈ A(i) ∩ A(j) such that Ek < Et for all k ∈ A(t).
If t is assigned to station st after Et (i.e., st > Et) and i is fixed at s/, the capacity of stations from st to s/
must be available to process tasks in B(t) ∩ A(j). If s/ is the first station that can process i when t is
assigned to st, then a*j(i, s) can potentially be increased to a*
j(i, Ei). Thus, we can write the following
valid inequality for the ASDP.
Given that t ∈ A(i) ∩ A(j) such that Ek < Et ∀ k ∈ A(t) and f(t) ∩ A(i) = ∅ ,
14
*/ * // ij t t i
*i j t
+ (i , ) - 1 - - 1s E sLs
m s i m s j m s t m s tm s = m s = m m s = s = E E Es
x x x x + + 1 + .γα
≤∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ 30 (15)
in which s* = max {s/ - ?ti* + 1, s/ + aj
*(i, Ei ) - ?tj*}.
Inequality (15), which is extended from inequality (13) conditional on the assignment of task t,
states that when task t is assigned to station (s/ - ?ti*) and task i is assigned to station s/, task j must be
assigned at or after station (s/ + a*j(i, Ei)).
Similarly, given that t ∈ B(i) ∩ B(j) such that Lk > Lt ∀ k ∈ B(t) and f(t) ∩ B(i) = ∅ ,*ji t
/ * */ /tij i t
LL Ls
m s i m s j m s t m s tm m m s = ms = s = - (i , ) + 1 s = + + 1Es s sL
x x x x + + 1 + .β γ
≤∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ 31 (16)
in which s* = min {s/ + ?it* - 1, s/ - ßj
*(i, Li ) + ?jt*}.
Inequality (16), which is derived from inequality (14) conditional on the assignment of task t,
states that when task t is assigned to station (s/ + ?it*) and task i is assigned to station s/, task j must be
assigned at or before station (s/ - ß*j(i, Li) + 1).
Valid Inequalities for a 0-1 Knapsack with Generalized Upper Bounds (GUBs). Let ZLB (ZUB) be
a lower (upper) bound on the objective value, and consider polytope Q described by (4), (5), and the
following inequalities:
m s tm m s m tm s m s t
f y g x + ∑ ∑ ∑ ∑ ∑ 22 ≤ ZUB (17)
m s tm s
x∑ ∑ 23 ≤ 1 ∀ t, (18)
m sm
y∑ 24 ≤ 1 ∀ s (19)
in which (18) is the inequality form of assignment constraint (1), and (19) reproduces inequality (4).
We can consider (17) to be a knapsack constraint and inequalities (4) and (18) as GUBs. Wolsey
(1990) derived strong valid inequalities for the knapsack problem with GUBs. Relative to Q, Wolsey's
inequality is
15
+ x +tt (m, s, t) T V
∈ ∈∑ ∑ 25+
+ y + s
m, ss (m, s) V V
y∈ ∈∑ ∑ 26+
x m, s, t
(m, s, t) E( )C
x∈∑ 27+
y m, s
(m, s) E( )C
y∈∑ 28 ≤ |C|-1 (20)
in which xtV 29 = {(m, s, t) : ∀ m and ∀ s}, +T 30 = {t : t e T and xC 31 ∩ x
tV 32 ≠ ∅ }, and
x +tV 33 = {(m, s, t) e x
tV 34: gm,s,t ≥ gm', s', t for (m', s', t) e { xC 35 ∩ xtV 36}} for t e +T 37 and C =
Cx ∪ Cy is a GUB cover if (i) |Cx ∩ xtV 38| ≤ 1 for t e T; (ii) |Cy ∩ y
sV 39| ≤ 1 for ∀ s; and (iii)
x yUBm, t m
(m, s, t) (m, s) C C
+ > g f Z∈ ∈
∑ ∑ 40. The extension of C is E(C) = E(Cx) ∪ E(Cy) where E(Cx) =
{(m, s, t) : gm,s,t ≥ gm', s', t for (m', s', t) e Cx} \ +
x +t
t T
V∈∪ 41 and y
sV 42, V+, y +sV 43, and E(Cy) are
defined analogously. If ZLB ≥ 0 and ZUB < ∞ , P ⊆ Q and inequality (20) is valid for Q and also for P.
A similar inequality could be formed using LBm s tm m s m tm s m s t
f y g x Z + ≥∑ ∑ ∑ ∑ ∑ 44 in place of
(17).
During the branch and cut operation, we can obtain ZLB from the solution prescribed by the
current LP relaxation and ZUB from the current best integer solution, and a Wolsey inequality can be
generated for each of these knapsacks.
4. IMPLEMENTATION OF BRANCH AND CUT
Our implementation integrates the inequalities presented in section 3 with a preprocessor; a heuristic to
obtain an upper bound on the optimal solution, SU; separation procedures; and an enumeration scheme.
Each of these aspects of the implementation is discussed in this section.
4.1. Preprocessing. Our preprocessor attempts to simplify the problem, for example, by determining
if a task can be pre-assigned to a particular station, and computes values for parameters E, L, ?*ij, a*
j(i,
s), and ß*j(i, s) (Pinnoi and Wilhelm 1996a give complete details). Determining the optimal value of
16
a*j(i, s) or ß*
j(i, s) is an NP-Hard problem (Pinnoi and Wilhelm 1994a), so we compute lower bounds
in polynomial time, allowing us to restrict the search (but perhaps not as dramatically as optimal
parameter values would).
Parameter values determine problem size and influence the effectiveness of branch and cut. For
example, ?ij = 0 implies that tasks i and j may be assigned to the same station. However, if tasks i and j
must be processed by different types of machines, ?ij ≥ 1. By incrementing the value of ?ij, we create
at least one additional arc in the intersection graph and thus strengthen all types of valid inequalities,
especially ?-clique inequalities.
4.2. The Heuristic. Since the ASDP is NP-hard, a heuristic is used to provide a starting solution.
The number of stations in this solution, SU, gives an upper bound on the optimum number of stations
and, consequently, the size of the problem, since the number of variables is determined by Ei and Li,
and Li is a function of SU.
In this section, we describe our heuristic, which invokes procedure NUBSTA1 three times and
procedure NUBSTA2 twice and then prescribes the best of the five solutions. Both procedures are
greedy algorithms which assign tasks according to numerical score functions. As described below,
NUBSTA1 uses score functions Score1 and Score2. Score1 is a function of variable cost gmt and,
thus, is used when a task is to be assigned to a station to which some tasks have already been assigned.
Score2 is a function of fixed cost fm and is used when a new station is activated, and a machine is
located at the new station.
Ta is the set of tasks whose predecessors have all been assigned. A task being assigned must be
chosen from Ta, and, after it is assigned, Ta is updated to include its immediate successors whose
17
predecessors have all been assigned. If station s has been activated and a machine of type m is located
at s, we assign a candidate task which can be processed by machine m, can be fitted into the remaining
time d, and has a minimum Score1 among all candidate tasks in Ta. If we cannot assign any task to the
current station or no station has been activated, we activate a new station with d = c, locate a machine
at that station, and assign a task having a minimum Score2 among all candidate tasks in Ta. The
algorithm then iterates.
Since fixed costs are typically significant, an optimal solution will not incorporate an excessive
number of stations. Based on this insight, pass 4 using NUBSTA2 adapts the assembly line balancing
method of Hackman, Magazine and Wee (1989), including the feature of alternative machines. To
guarantee a feasible solution for the ASDP, pt+ is used instead of pmt. As described below, NUBSTA2
uses Score3, which is a function of processing times.
If no machine has yet been located at station s, we assign to s a candidate task whose maximum
time can fit into the remaining time d and which has the largest Score3 among all candidate tasks in Ta.
If station s is activated and a machine of type m is located at s, then we assign a candidate task which
can be processed by machine m, can be fitted into the remaining time d, and has the largest Score3
among all candidate tasks in Ta. If we cannot assign any task to the current station or no station has
been activated, we activate a new station with d = c and assign to the new station a candidate task
having the maximum Score3 among all candidate tasks in Ta. If the task being assigned can be
processed by only one type of machine, we locate that type of machine at the current station. After a
task is assigned, Ta is updated to include its immediate successors whose predecessors have all been
assigned, and the algorithm iterates.
18
To obtain a good feasible solution, we make three passes using NUBSTA1, then two with
NUBSTA2 using the score functions defined below:
Pass Procedure Score1 Score2 Score3
1 NUBSTA1 gmt pmt gmt pmt + fm
2 NUBSTA1 gmt gmt + fm
3 NUBSTA1 gmt gmt pmt + fm
4 NUBSTA2 pt+
5 NUBSTA2 -i
i B(t)
p∈∑ 45
In passes 1-3, Score1 gives a measure of variable cost; and Score2, of both fixed and variable costs. In
pass 4, the Score3 is one that performed well on the ALBP (Hackman, Magazine and Wee 1989). In
pass 5, Score3 is the sum of the -ip 46 values of all successors of task t, representing the workload that
must follow task t.
4.3. Separation Algorithms. A separation problem is used to identify inequalities that are violated by
a fractional solution to the current LP relaxation, x. Our algorithms for these problems are all
polynomial-time procedures: some are optimizing and others (i.e., heuristics) are not guaranteed of
identifying an optimal solution to the separation problem.
The separation problem associated with clique and clique related inequalities (12)-(16) is a
maximum weight clique problem in which xu represents the weight of node u and u = (s, t). The
maximum weight clique corresponds to a most violated clique inequality. Even though this problem is
NP-hard (Garey and Johnson 1979), some special cases of clique and clique-related inequalities can be
identified efficiently by complete enumeration. We search for the most violated inequalities associated
with each pair of tasks i and j by evaluating both sides of the inequalities. After finding a violated
19
clique inequality, it can be strengthened by sequential lifting (Nemhauser and Wolsey 1988).
Specifically, we use algorithm LIFTCLIQ to lift such a clique inequality. Upon lifting with respect to
node u, the algorithm checks whether u is connected to all nodes currently in the clique. If so, it adds u
to the clique and continues the lifting process.
To obtain a violated s-clique inequality (9), we use greedy algorithms SCLIQUE and STAR,
which was developed by Nemhauser and Sigismondi (1992) for the NPP. This procedure is heuristic,
so it may fail to identify some violated inequalities. STAR accumulates a set of "marked" nodes, at
each iteration augmenting a node with the maximum xu value among nodes adjacent to currently
marked ones. Upon terminating, the set of marked nodes, K, forms a clique, the procedure has
identified a violated inequality, and it can be lifted. Then, SCLIQUE adds the s-clique inequality
associated with K as a cut into the LP relaxation. Subsequently, we choose another node to initiate
STARing and iterate until a violated inequality is found or all nodes have been initialized. Algorithm
SCLIQUE has complexity O(t2 SL) in which t is the number of tasks and SL is a lower bound on the
number of stations.
Algorithm STAR is also used to generate another clique inequality, called a general clique
inequality. The associated clique is obtained by considering the entire intersection graph G- rather than
its subgraph as in the s-clique. STAR is performed on the list of all nodes, sorted in nonincreasing
order of the solution values {xu}. At most one violated general clique inequality is identified by each
pass.
Packing cover inequalities (10) and (11) require separation problems that involve knapsack,
GUB, and node packing constraints. For these problems, we have devised polynomial separation
20
heuristics patterned after the algorithm which Johnson and Padberg (1981) devised for the knapsack
problem with disjoint, special-ordered sets. Violated inequalities identified in this manner are
strengthened by sequential lifting. Further details are described by Pinnoi and Wilhelm (1996a), who
discuss application to the workload smoothing problem. Modifications must, of course, be made to
deal with yms variables which appear in inequalities (10) and (11).
Inequality (20) entails a separation problem that is also a 0-1 knapsack problem with a GUB
constraint. We compared the dynamic programming algorithm of Martello and Toth (1989) with the
heuristic of Johnson and Padberg (1981), found that the latter method gave better runtimes and, thus,
used it in our computational evaluation.
4.4 Enumeration Framework. Our branch and cut algorithm relies on the framework provided by
the IBM Optimization Subroutine Library (OSL), including preprocessing, branching, and super node
processing. Our cuts are identified by separation algorithms included in a user exit routine and added
to the matrix by the supernode processing routine at nodes throughout the tree.
The user may also apply knowledge about the problem to control branching by fixing variables
expected to speed up fathoming. As discussed earlier, fixing all yms as early as possible in the search
tree results in the RASDP and a polytope of a lower dimension. Through the user exit subroutine, we
choose the yms which is closest to an integer value in the current LP relaxation and fix it to that integer
value. When all yms have integer values (fixed or prescribed), we return to OSL's branching logic.
5. COMPUTATIONAL RESULTS
Our goal is to study the effects of various design factors on the performance of our cutting plane
approach, establishing benchmark results. Our algorithms were written in FORTRAN, implemented
21
on an IBM RISC/6000 model 550, and interfaced with OSL.
5.1. Test Problems. Since there are no "standard" ASDP problems, we constructed three sets of test
problems. Set 1 consists of 18 problems that were generated from five standard ALBP problems:
Heskia 28 (tasks), Sawyer 30, Tonge 70, and Arcus 83 (see Hoffmann 1990). The processing time in
each original ALBP was used; the number of alternative machine types for each task was determined
by a random selection from U[1, 2]; and the machine type for each selection was generated randomly
from U[0, 1].
Set 2 consisted of test problems based on actual industrial data. One problem was based on
data provided by Texas Instruments (TI); in this problem, we related each task to two alternative
machines. The second problem in the set is Arcus 111 (tasks) (see Hoffmann 1990).
For each task that has two alternative machines, the second processing time is randomly
generated from a uniform distribution with range arbitrarily selected for each problem by considering
the original times: U[1, 90] for Heskia, U[1, 25] for Sawyer, U[1, 156] for Tonge, U[1, 3000] for
Arcus 83, U[1, 3000] for Arcus 111, and U[1,90] for TI. Fixed and variables costs were generated
using U[1,1000] and U[1,100], respectively.
Set 3 consists of 16 randomly generated problems. For each, fixed and variable costs were
generated from U[1,1000] and U[1,100], respectively. We designated four factors, each with two
levels. Each test problem is designated by 4 digits, each representing the level of one factor. For
example, asd1211 was randomly generated with Factors A, B, C, and D held at levels 1, 2, 1, and 1,
respectively. The levels of each factor are given below.
Factor Description Level 1 Level 2
22
A number of alternative machines for each task U[1, 2] U[1, 3]
B precedence graph structure (see Figure 1) Structure I Structure IInumber of tasks 22 25order strength 0.4 0.65
C task processing times Binomial[30, 25]U[1, 14]mean, standard deviation 7.5, 4.03 7.5, 2.37
D c as a multiple of maximum processing time U[1.0, 1.5] U[1.5, 2.0]
5.2. Analysis of the Heuristic. Tables 2 and 3 summarize the performance of NUBSTA1 and
NUBSTA2. The pass that prescribed the fewest stations is indicated in column 6 (5) of Table 2 (3),
and the pass that prescribed the smallest total cost is indicated in column 8 (7) of Table 2 (3). Relative
performance, the ratio of total cost prescribed by the heuristic, ZH, to the optimal cost, ZIP, is given in
the last column of each table.
NUBSTA1 seems to outperform NUBSTA2, giving better solutions for most problems,
especially those in Set 3. This outcome seems reasonable, since NUBSTA1 takes the cost function
into consideration as tasks are assigned and machines are selected. However, NUBSTA2 seems to
perform better on the Arcus 83 task problem, in which the cycle time is much larger than the
processing times, so that one alternative machine is easily prescribed for each task, offsetting cost
considerations. Thus, all five cases in Table 2 have the same optimal number of stations, and four of
them have the same optimal cost. As the cycle time reduces, cost considerations become more
predominant. A similar, but less dominant relationship is exhibited by the Heskia 28 problems.
The ratio ZH / ZIP shows that our heuristic gives solutions of high quality (within 13% of
optimum on average overall) and, thus, provides good bounds to curtail the search.
5.3. Analysis of Branch and Cut Performance. Tables 4 and 5 report the performance of our
23
branch and cut implementation. We designated runtime as a measure of the efficacy, including the time
taken by all separation procedures and that taken by all OSL routines to perform supernode processing.
To gauge the efficiency of the approach, we compared runtimes with those required by a standard
implementation of OSL, which uses only supernode processing. Results clearly show that our
approach achieved an order of magnitude improvement in the runtime required to resolve each of the
more challenging problems, due primarily to a reduction in the number of nodes enumerated.
Cuts generated from our valid inequalities contributed dramatically to reducing the number of
nodes enumerated in most problems. OSL discards nonbinding inequalities in each pre-processing pass
where the objective value changes significantly; thus, a cut generated at one node may be removed later
by OSL and then regenerated subsequently at another node in the search tree. Separation time
accounts for only about 8% of total runtime. OSL does not provide measures of cut effectiveness, nor
does it provide information to determine which cuts are binding at the optimal solution. Thus, we
cannot report the efficacy of individual inequalities.
The Tonge 70 task problem with the cycle time of 468 poses an interesting result. The branch
and cut algorithm enumerated 119 nodes using 59,832 simplex iterations (not tabled) while OSL
searched 273 nodes using 120,512 iterations (not tabled). The separation time is only 161.2 seconds,
6% of the total runtime. Yet, our branch and cut took a slightly longer time to solve the problem than
did OSL. This result can be rationalized, in part, by the impact of supernode processing, which
sometimes took a significant amount of time in each pass.
Runtimes required by the branch and cut approach on the larger industrial cases in problem Set
2 compared favorably with those of OSL (especially on ARCUS 111).
24
Runtime normally increases with the problem size which increases as cycle time decreases,
resulting in a larger number of stations. In addition, the size of the problem also depends upon the
bound SU determined by the heuristic. In general, we can conclude that a large cycle time is more
manageable than a small cycle time. Specifically, the problems for which processing times were
generated from a binomial distribution (as suggested by Talbot, Patterson, and Gehrlein 1986) (level 2,
factor C) and cycle times were 1.0-1.5 times the maximum task time (level 1, factor D) are obviously
more difficult than others (Table 5). These problems seem to entail a large idle time at each station,
since it appears to be more difficult to fit tasks when processing times are nearly the same. As a result,
our cuts may not work as well in such a case.
In problem Set 3, the two-machine problems were more easily solved than the three-machine
ones (Factor A). Problems having a maximum of two alternative machines (level 1, factor A) for each
task and a high order strength structure (level 2, factor B) seem to be easier than others. Since there
was a probability of 0.5 that a task must be assigned to a specific machine, we conjecture that the
likelihood that two tasks must be assigned to different stations is high, since precedence relationships
exhibit a high order strength, resulting in few feasible choices for task assignments.
For a few problems, OSL obtained solutions that it deemed optimal but, in fact, are infeasible.
The same error also appeared in one branch and cut result (see Table 5), since we relied on OSL for
overall management.
6. CONCLUSIONS AND SUGGESTIONS FOR FUTURE RESEARCH
This paper reports the first implementation of cutting planes for solving ASDPs. Pinnoi and Wilhelm
(1994a) identify valid inequalities and facets for the underlying assembly line balancing polytope and
25
this paper shows how to adapt them, forming valid inequalities for the ASDP. Our branch and cut
approach includes a preprocessor, a heuristic, separation procedures, and an enumeration scheme - all
specialized for the ASDP.
Computational results demonstrate that branch and cut is a powerful approach for solving
ASDPs. We solved three sets of test problems with task processing times and precedence relationships
taken from line balancing problems that appear in the literature, actual industrial cases, and randomly
generated problems. Test problems systematically evaluated the approach relative to four design
factors: alternative machines, precedence graph structure, distribution of processing times, and cycle
time. Computational results establish benchmarks for the application of cutting plane methods to
ASDPs, showing that our approach achieved an order of magnitude improvement in the runtime
required to resolve each of the more challenging problems.
Dealing with the ASDP through a family of hierarchial models starting with the ALBP (see
Pinnoi and Wilhelm 1996b) allows other, more complex, design problems to be addressed using the
solution algorithms presented in this paper. For example, one important case relaxes assumption (A8),
allowing identical machines to operate in parallel at a station to process a "long" task (i.e., with
processing time greater than cycle time).
Several types of improvements could be pursued by future research. For example, we expect
that our heuristic could be improved. Most importantly, the polyhedral structure of the ASDP may be
studied to identify additional families of valid inequalities.
7. REFERENCES
Balas, E. 1985. On the Facial Structure of Scheduling Polyhedra. Math. Prog. Study 24, 179-218.
26
Baybars, I. 1986. A Survey of Exact Algorithms for the Simple Assembly Line Balancing Problem. Mgmt. Sci., 32 (8), 909-932.
Buxey, G. M., N. D. Slack and R. Wild. 1973. Production Flow Line System Design -A Review. AIIETrans. 5, 37-48.
Crowder, H., E. L. Johnson and M. Padberg. 1983. Solving Large-Scale Zero-One LinearProgramming Problems. Opns. Res. 31, 803-834.
Ghosh, S., and R. J. Gagnon. 1989. A Comprehensive Literature Review and Analysis of the Design,Balancing and Scheduling of Assembly Systems. Int. J. Prod. Res. 27, 637-670.
Graves, S. C., and B. W. Lamar. 1983. An Integer Programming Procedure for Assembly SystemDesign Problems. Opns. Res. 31, 522-545.
Graves, S. C., and C. H. Redfield. 1988. Equipment Selection and Task Assignment for MultiproductAssembly System Design. Int. J. Flex. Manu. Sys. 1, 31-50.
Grotschel, M., M. Jünger and G. Reinelt. 1984. A Cutting Plane Algorithm for the Linear OrderingProblem. Opns. Res. 32, 1195-1220.
Hackman, S. T., M. J. Magazine and T. S. Wee. 1989. Fast, Effective Algorithms for Simple AssemblyLine Balancing Problems. Opns. Res. 37, 916-924.
Hoffmann, T. R. 1990. Assembly Line Balancing: a Set of Challenging Problems. Int. J. Prod. Res. 28,1807-1815.
Johnson, E. L. and M. W. Padberg. 1981. A Note on the Knapsack Problem with Special OrderedSets. Opns. Res. Lett. 1, 18-22.
Lee, H. F., and R. V. Johnson. 1991. A Line-Balancing Strategy for Designing Flexible AssemblySystems. Int. J. Flex. Manu. Sys. 3, 91-120.
Leung, J. M.Y., and T. L. Magnanti. 1989. Valid Inequalities and Facets of the Capacitated PlantLocation Problem. Math. Prog. 44, 271-291.
Martello, S. and P. Toth. 1989. Knapsack Problems Algorithms and Computer Implementations. JohnWiley, New York.
Mastor, A. A. 1970. An Experiment Investigation and Comparative Evaluation of Production LineBalancing Techniques. Mgmt. Sci. 16, 728-746.
27
Nemhauser, G. L. and L. A. Wolsey. 1988. Integer and Combinatorial Optimization. John Wiley &Sons, New York.
Padberg, M. W. 1979. Covering, Packing and Knapsack Problems. Ann. Disc. Math. 4, 265-287.
Padberg, M. W., T. J. Van Roy and L. A. Wolsey. 1985. Valid Linear Inequalities for Fixed ChargeProblems. Opns. Res. 33, 842-861.
Pinnoi, A., and W. E. Wilhelm. 1994a. Assembly System Design: Valid Inequalities and Facets for theLine Balancing Problem. Working Paper. Dept. of Ind. Eng., Texas A&M Univ.
Pinnoi, A., and W. E. Wilhelm. 1996a. A Branch and Cut Approach for Workload Smoothing onAssembly Lines. ORSA Journal on Computing, forthcoming.
Pinnoi, A., and W. E. Wilhelm. 1996b. A Family of Hierarchial Models for Assembly System Design.International Journal of Production Research, forthcoming.
Pinto, P. A., D. G. Dannenbring and B. M. Khumawala. 1983. Assembly Line Balancing withProcessing Alternatives: an Application. Mgmt. Sci. 29, 817-830.
Soni, A. H. 1990. Research Needs and Opportunities in Flexible Assembly Systems. In FlexibleAssembly Systems, A. H. Soni (ed.), The American Society of Mechanical Engineers. 221-228.
Talbot, F. B., J. H. Patterson and W. V. Gehrlein. 1986. A Comparative Evaluation of Heuristic LineBalancing Techniques. Mgmt. Sci. 32, 430-454.
Wolsey, L. A. 1990. Valid Inequalities for 0-1 Knapsacks and MIPs with Generalized Upper BoundConstraints. Disc. Appl. Math. 29, 251-261.
28
Indicesm : a machines = 1, ..., S, a stationi, j, t ∈ T, a task or a node in the precedence graphCost parametersfm = fixed cost of machine mvmt = operating cost of task t by machine mDecision Variables
xmst =if task t is assigned to machine m at station s,
0 otherwise ,1
32
yms =if machine m is located at station s,
0 otherwise ,1
33
Station Informationc = cycle timeEt = a lower bound on the earliest station at which task t may be processedLt = an upper bound on the latest station at which task t may be processedS = an upper bound on the number of stationsTask InformationA(t) : set of all predecessors of task tB(t) : set of all successors of task tM(t) : set of immediate predecessors of task tpmt = processing time of task t by machine mpt
- = min {pmt}, the minimum processing time of task tpt
+ = max {pmt}, the maximum processing time of task tT = {1, ..., t}, task seta*
j(i, s) = (the first station to which j can be assigned when i is assigned to station s) - s
ß*j(i, s) = s - (the last station to which j can be assigned when i is assigned to station s)
?*ij : the minimum difference in the station numbers where tasks i and j can be assigned
f(i) : the set of tasks that are neither predecessors nor successors of i.Intersection Graph U = {u: u = (m, s, t)}, the node set of the intersection graphF = {(u1, u2): u1 = (m1, s1, t1), u2 = (m2, s2, t2) ∈ U and t1 cannot be assigned to m1 at s1 when
t2 is assigned to m2 at s2.G- = (U, F) : An intersection (undirected) graph
Table 1. A summary of notation.
29
Table 2Performance of Heuristic for ASDP on Problem Set 1
ProblemName
CycleTime
Optimal Heuristic
ZH / ZIP
No. ofStations
Total CostZIP
No. ofStations
PassNo.
Total CostZH
PassNo.
Heskia28
tasks
138 7 3,775 9 3, 4 4,335 4 1.1483
205 5 2,979 6 1, 3 3,579 1, 3 1.2014
216 5 2,977 6 1,3, 4,5 3,579 1, 3 1.2022
256 4 2,768 5 1, 5 3,093 5 1.1174
324 4 2,744 4 4, 5 2,937 4 1.0703
342 4 2,744 4 4 3,035 2 1.1060
Sawyer30
tasks
41 9 5,887 11 1, 2, 5 6,959 1 1.1821
54 8 5,377 9 2, 4, 5 5,946 2 1.1058
75 7 4,866 7 1 4,974 1 1.0222
Tonge70
tasks
364 11 8,377 12 3 9,822 3 1.1725
410 10 8,033 11 3 9,041 3 1.1255
468 9 7,775 11 1, 2, 3 9,063 1 1.1657
527 9 7,639 10 2, 3 8,477 2, 3 1.1097
Arcus83
tasks
6,842 14 16,455 17 3 19,576 3 1.1897
7,571 14 16,397 17 3, 5 19,496 5 1.1890
8,412 14 16,397 16 5 18,610 5 1.1350
8,998 14 16,397 14 5 16,656 5 1.0158
10,816 14 16,397 14 5 16,779 5 1.0233
TI93 tasks
650 4 7,999 4 1, 3 8,170 3 1.0214
Arcus111 tasks
17,067 12 9,971 13 1 12,480 5 1.2516
30
Table 3Performance of Heuristic for ASDP on Problem Set 2
ProblemName
Optimal HeuristicZH / ZIP
No. ofStations
Total CostZIP
No. ofStations
PassNo.
Total CostZH
PassNo.
asd1111 11 8,986 11 2 9,047 2 1.0068
asd1112 7 6,084 8 1, 3, 5 6,760 3 1.1111
asd1121 11 8,216 14 4 10,006 4 1.2179
asd1122 7 5,563 8 1, 3 6,191 3 1.1129
asd1211 10 9,149 11 1, 2, 3 9,899 2 1.0820
asd1212 8 8,722 10 4 10,224 4 1.1722
asd1221 14 13,992 16 1 15,585 1 1.1139
asd1222 9 10,361 9 2 10,374 2 1.0013
asd2111 7 6,680 8 1, 3 7,507 1 1.1238
asd2112 7 6,580 9 3 8,337 3 1.2670
asd2121 - - 15 1, 3 13,292 2 -
asd2122 9 8,937 9 2 8,938 2 1.0001
asd2211 - - 14 1, 2, 3 14,089 2 -
asd2212 9 8,718 12 1 10,717 2 1.2293
asd2221 - - 12 1, 3 8,802 1, 3 -
asd2222 7 7,025 8 4 8,022 4 1.1419
- Data is not available due to long runtime or infeasibility.
31
Table 4Computational Evaluation of Branch and Cut on Problem Set 1
ProbName
CycleTime
ProblemSize Objective Value Branch and Cut OSL
No.of
Rows
No.of
Cols LP IP
No.of
Cuts
SepTime(sec)
TotalTime(sec)
No.of
Nodes
TotalTime(sec)
No.of
Nodes
Heskia28
tasks
138 212 311 3,409.9 3,775 7,291 116.3 1,503 176 > 5 hrs1 -
205 137 210 2,680.1 2,979 662 8.1 81 15 3,347 1,191
216 138 212 2,603.6 2,977 1,221 18.2 133 24 8,433 3,488
256 120 174 2,380.7 2,768 159 2.2 38 4 45 4
324 92 135 2,128.1 2,744 51 0.7 10 0 11 0
342 92 135 2,078.0 2,744 54 0.6 21 0 10 0
Sawyer30
tasks
41 209 288 5,176.1 5,887 14,257 264.1 2,521 367 20,2492 1,4962
54 166 232 4,277.7 5,377 1,307 20.5 226 38 3,3572 7342
75 102 153 3,472.8 4,866 30 0.3 9 0 9 0
Tonge70
tasks
364 380 599 7,654.1 8,377 5,166 271.1 6,752 85 35,342 3,710
410 312 513 7,171.3 8,033 1,101 48.0 1,030 12 1,487 20
468 334 532 6,697.9 7,775 2,026 161.2 2,690 119 2,571 273
527 246 426 6,309.8 7,639 88 1.5 303 0 187 0
Arcus83
tasks
6,842 633 909 12,981.1 16,455 3,981 231.8 5,637 119 > 10 hrs -
7,571 633 909 12,103.1 16,397 1,499 50.9 7,427 11 >10 hrs3 -
8,412 520 786 11,279.3 16,397 684 18.78 1,289 1 > 8 hrs -
8,998 278 520 10,795.8 16,397 15 2.3 7 0 5 0
10,816 293 513 9,621.9 16,397 16 2.0 5 0 5 0
TI 93tasks
650 294 570 6,091.0 7,999 72 12.2 228 1 440 75
Arcus111tasks
17,067 851 1,200 8,240.0 9,971 1,642 155.8 5,300 19 > 10 hrs -
- Data is not available, since the test was not allowed to run to termination.1OSL encountered numerical difficulties.2The optimal solution prescribed by OSL is infeasible.3Heuristic pass is not requested in EKKMPRE.
32
Table 5Computational Evaluation of Branch and Cut on Problem Set 2
ProblemName
Problem Size Objective Value Branch and Cut OSL
No.of
Rows
No.of
Cols LP IP
No.of
Cuts
SepTime(sec)
TotalTime(sec)
No.of
Nodes
TotalTime(sec)
No.of
Nodes
asd1111 188 223 7,797.2 8,986 3,339 61.4 1,026 175 13,7721 1,2781
asd1112 168 198 5,486.6 6,084 2,793 32.4 360 68 17,1841 4,4911
asd1121 261 324 7,988.7 8,216 42,577 836.0 10,433 1,395 > 10 hrs -
asd1122 167 244 5,184.7 5,563 12,348 163.4 1,365 343 > 10 hrs -
asd1211 219 251 7,639.3 9,149 1,656 37.0 453 78 12,465 4,878
asd1212 226 243 7,644.5 8,722 2,204 38.5 490 67 17,799 1,840
asd1221 279 323 12,425.4 13,992 27,894 681.5 8,059 1,370 > 10 hrs -
asd1222 161 176 8623.8 10,361 451 4.4 63 8 668 314
asd2111 178 299 5,836.0 6,680 1,013 17.9 377 26 803 99
asd2112 187 293 5,652.6 6,580 7,417 125.1 1,431 207 24,191 11,137
asd2121 296 430 9,102.4 - - - > 4 hrs - > 4 hrs -
asd2122 172 267 7,396.1 8,937 3,218 43.7 859 66 1,491 456
asd2211 347 466 9,270.9 11,6021 16,0231 708.81 10,3581 5581 > 6 hrs2 -
asd2212 300 426 7,419.2 8,718 24,313 687.9 9,051 891 34,599 7,142
asd2221 287 436 6,599.3 - - - > 4 hrs - > 4 hrs -
asd2222 169 238 5877.5 7,025 673 9.38 243 19 396 64
- Data is not available, since the test was not allowed to run to termination.1The optimal solution prescribed by OSL is infeasible.2OSL encountered numerical difficulties.