Sep 19, 1996 - Asian Institute of Technology. Bangkok, Thailand and. Wilbert E. Wilhelm. Department of Industrial Engineering. Texas A&M University, College ...
ASSEMBLY SYSTEM DESIGN: A BRANCH AND CUT APPROACH Anulark Pinnoi Asian Institute of Technology Bangkok, Thailand and Wilbert E. Wilhelm Department of Industrial Engineering Texas A&M University, College Station, TX 77843-3131 Revised: 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 DDM9114396. 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.
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 = -1
(Production rate) (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
1
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)
2
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
3
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) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
Cycle time, processing times, and precedence relationships are known deterministically. No task processing time is larger than the cycle time. Task processing times are additive and independent of the task sequence. A system consists of a series of stations. Setup time for a task is negligible (or included in task time). There are no zoning restrictions or other special-case constraints. Each task must be assigned to one of a specified set of alternative machines. 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
4
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 = ∑ ∑ f m y m s + ∑ ∑ ∑ g m t xm s t 1 st
m
s
m
s
m
s
∑∑ x
m
s
t
2
=
1
xm s i 3
≤
∑∑s
mst
∑∑s ∑p
m
xm s j 4
t e T;
(1)
∀ i ∈ M(j);
(2)
s
≤
c ym s 6
∀ m, ∀ s
(3)
7
≤
1
∀ s;
(4)
xmst, yms
=
{0, 1}
∀ m, s, t.
(5)
xm s t 5
mt
t
∑y
ms
m
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
5
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, pt =
min 1{pmt} = the minimum processing time of task t on alternative machine types = max 8{pmt} = the maximum processing time of task t on alternative machine types. m
p
+ t
m
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' =
∑∑ g x 9 = ∑ x 10 ∑ s x 11 ≤ ∑ p x 13 ≤
st
st
st
s
t
st
s
si
s
st
st
1
∑s
x s j 12
∀ t;
(6)
∀ i ∈ M(j);
(7)
∀ s, t.
(8)
s
∀ s;
c 14
t
xst
=
{0, 1}
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 x s , | T | 15 | (6)-(8) and s
∑p
t
x s t 16 ≤ c 17 ∀ s}
t
in which the objective is to minimize the number of stations (i.e., the station to which the last task is
6
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
7
R2 (precedence)
t1 ∈ A(t2) and s2 ≤s1 + γ*t 1 t 2 2 - 1
R3 (upstream capacity)t2 ∈ f(t1) and E t 2 3 ≤s2 ≤s1 + α *t 2( t 1, s 1 ) 4 - 1 R4 (downstream capacity) t2 ∈ f(t1) and s1 - β *t ( t 1, s 1 ) 5 + 1 ≤s2 ≤ L t 2 6 2
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 - γ* t t 7. We apply R2 to all 1 2 predecessors of task t2. Rule R3 considers the capacity of upstream stations to handle precedenceunrelated 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 before E t 1 + α *t 2( t 1, s 1 ) - 1 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 L t 1 - β *t 2( t 1, s 1 ) + 1 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. s1 = s2 and p t-1 + p t-2 > c 10 R6 (processing time 2) s1 = s2 and p m1 ,t 1 + p m 2 , t 2 > c 11 Rules R5 and R6 invoke cycle time constraint (3) for tasks t1 and t2 assigned to the same station (s1 = R5 (processing time 1)
s2) (since s1 = s2, assumption (A8) requires that m1 = m2 also). By R5, if p t-1 + p t-2 > c 12, we cannot assign tasks t1 and t2 to the same station. By Rule R6, if p m1 ,t 1 + p m 2 , t 2 > c 13, we cannot assign tasks t1
8
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: ∑ x m s t ≤ y m s ,14.
(9)
t∈ T ( Km s )
Proof. If yms = 0, inequality (9) is valid, since, by cycle time constraint (3), xmst = 0 for all t. If yms = 1,
9
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
∑x
t∈ C
mst
≤ | C | - 1 18
in which C is a "cover" for which
∑p
mt
19 > c and is minimal in the sense that
∑
p m t 20 ≤ c for
t ∈ C′
t∈ C
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
10
-
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
U
C k = C 15. Associated with Ck, we define Θˆk 16 as a subset of the arc set of Gk(C),
k
ˆ Θˆk 17 = {(i, j): i, j ∈ Ck and i ∈ A(j)} such that | Θˆk | 18 ≤|C| - 1, and Θˆ = U Θ k k
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:
(
Li
∑x + ∑ ∑ ∑ mst
t∈ C
(i , j) ∈ Θˆ
r
q=s+1
xr q i +
s-1
∑
q =E j
xr q j
)≤( 11
C -1
)
yms +
Θˆ
(
1- y
ms
)23.(11)
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 s / + γ* i j - 1
Li
∑ ∑ x +∑ ∑ msi
m s=s/
m
xm s j
≤ 1 .27
(12)
s=E j
/
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,
12
s
/
∑∑
m s = Ei
xm s i
+∑
s / + α *j(i, s / ) - 1
∑
m
*
Lt
xm s j /
xm s t
≤ 1 ,28
(13)
m s = s*
s= E j
*
+∑ ∑
*
/
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, Li
∑∑
m s=s/
xm s i + ∑
Lj
∑
m s = s / - β *j (i, s / ) + 1
xm s j + ∑
s*
∑
xm s t
≤ 1 ,29
(14)
m s = Et
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) = ∅ ,
13
s
/
∑∑
m s = Ei
xm s i + ∑
s / + α *j (i , E i ) - 1
∑
m
*
/
*
xm s j + ∑
∑
xm s t
m s = s*
s= E j
*
s / - γt i - 1
Lt
/
≤ 1+ ∑ ∑ m
x m s t .30
(15)
s = Et
*
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) = ∅ , Li
∑∑
m s=s/
Lj
xm s i + ∑
∑
m s = s / - β *j (i , L i ) + 1
*
/
*
/
s*
xm s j + ∑
*
∑
m s = Et
≤ 1+ ∑ ∑ Lt
xm s t
x m s t .31
(16)
m s = s / + γ*i t + 1
*
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
m
s
f m y m s + ∑ ∑ ∑ g m t x m s t 22 ≤ZUB
∑∑ x ∑
m
mst
y m s 24
23
s
(17)
t
≤1
∀ t,
(18)
≤1
∀s
(19)
m
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
14
∑
∑
25+
t ∈ T + (m, s, t) ∈ V t x +
∑
s∈V
+
∑
(m, s) ∈ V
y m, s 26+ y+ s
∑
∑
x m, s, t 27+
(m, s, t) ∈ E( C
x
(m, s) ∈ E( C
)
y m, s 28 ≤|C|-1 y
(20)
)
in which V t x 29 = {(m, s, t) : ∀ m and ∀ s}, T + 30 = {t : t e T and C x 31 ∩ V t x 32 ≠ ∅ }, and x+ x x x + V t 33 = {(m, s, t) e V t 34: gm,s,t ≥ gm', s', t for (m', s', t) e { C 35 ∩ V t 36}} for t e T 37 and C =
x y x y C ∪ C is a GUB cover if (i) |C ∩ V t x 38| ≤ 1 for t e T; (ii) |C ∩ V s y 39| ≤ 1 for ∀ s; and (iii)
∑
(m, s, t) ∈ C
g m, t + x
∑
(m, s) ∈ C
x
y
x
f m > Z UB 40. The extension of C is E(C) = E(C ) ∪ E(C ) where E(C ) = y
x {(m, s, t) : gm,s,t ≥ gm', s', t for (m', s', t) e C } \
∪V
t∈ T+
x+ t
+
y
41 and V s y 42, V , V s y + 43, and E(C ) 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
∑∑ m
s
f m ym s + ∑ ∑ ∑ g m t xm s t m
s
≥
Z LB 44 in place of
t
(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
15
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
16
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.
17
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
1
NUBSTA1
gmt pmt
gmt pmt + fm
2
NUBSTA1
gmt
gmt + fm
3
NUBSTA1
gmt
gmt pmt + fm
4 5
NUBSTA2 NUBSTA2
Score3
+
pt
∑
i ∈ B(t)
-
p i 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 p -i 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
18
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 2 SCLIQUE has complexity O(t 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
19
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
20
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
21
A
number of alternative machines for each task
U[1, 2] U[1, 3]
B
precedence graph structure (see Figure 1) number of tasks order strength
Structure I 22 0.4
C
task processing times mean, standard deviation
D
c as a multiple of maximum processing time
Structure II 25 0.65
Binomial[30, 25] U[1, 14] 7.5, 4.03 7.5, 2.37 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
22
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).
23
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
24
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.
25
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. AIIE Trans. 5, 37-48. Crowder, H., E. L. Johnson and M. Padberg. 1983. Solving Large-Scale Zero-One Linear Programming 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 System Design Problems. Opns. Res. 31, 522-545. Graves, S. C., and C. H. Redfield. 1988. Equipment Selection and Task Assignment for Multiproduct Assembly 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 Ordering Problem. Opns. Res. 32, 1195-1220. Hackman, S. T., M. J. Magazine and T. S. Wee. 1989. Fast, Effective Algorithms for Simple Assembly Line 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 Ordered Sets. Opns. Res. Lett. 1, 18-22. Lee, H. F., and R. V. Johnson. 1991. A Line-Balancing Strategy for Designing Flexible Assembly Systems. Int. J. Flex. Manu. Sys. 3, 91-120. Leung, J. M.Y., and T. L. Magnanti. 1989. Valid Inequalities and Facets of the Capacitated Plant Location Problem. Math. Prog. 44, 271-291. Martello, S. and P. Toth. 1989. Knapsack Problems Algorithms and Computer Implementations. John Wiley, New York. Mastor, A. A. 1970. An Experiment Investigation and Comparative Evaluation of Production Line Balancing Techniques. Mgmt. Sci. 16, 728-746.
26
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 Charge Problems. Opns. Res. 33, 842-861. Pinnoi, A., and W. E. Wilhelm. 1994a. Assembly System Design: Valid Inequalities and Facets for the Line 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 on Assembly 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 with Processing Alternatives: an Application. Mgmt. Sci. 29, 817-830. Soni, A. H. 1990. Research Needs and Opportunities in Flexible Assembly Systems. In Flexible Assembly 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 Line Balancing Techniques. Mgmt. Sci. 32, 430-454. Wolsey, L. A. 1990. Valid Inequalities for 0-1 Knapsacks and MIPs with Generalized Upper Bound Constraints. Disc. Appl. Math. 29, 251-261.
27
Indices m : a machine s = 1, ..., S, a station i, j, t ∈ T, a task or a node in the precedence graph Cost parameters fm = fixed cost of machine m vmt = operating cost of task t by machine m Decision Variables xmst
=
yms
=
1 if task t is assigned to machine m at station s, 32 0 otherwise , 1 if machine m is located at station s, 33 0 otherwise ,
Station Information c = cycle time Et = a lower bound on the earliest station at which task t may be processed Lt = an upper bound on the latest station at which task t may be processed S = an upper bound on the number of stations Task Information A(t) : set of all predecessors of task t B(t) : set of all successors of task t M(t) : set of immediate predecessors of task t pmt = processing time of task t by machine m = min {pmt}, the minimum processing time of task t pt + = max {pmt}, the maximum processing time of task t pt T = {1, ..., t}, task set * a 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 f(i)
: the minimum difference in the station numbers where tasks i and j can be assigned : 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 graph F = {(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.
28
Table 2 Performance of Heuristic for ASDP on Problem Set 1 Optimal Heuristic Problem Name
Cycle Time
ZH / ZIP No. of Stations
Total Cost ZIP
138
7
3,775
9
205
5
2,979
216
5
256
Total Cost ZH
Pass No.
3, 4
4,335
4
1.1483
6
1, 3
3,579
1, 3
1.2014
2,977
6
1,3, 4,5
3,579
1, 3
1.2022
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
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
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
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
TI 93 tasks
650
4
7,999
4
1, 3
8,170
3
1.0214
Arcus 111 tasks
17,067
12
9,971
13
1
12,480
5
1.2516
Heskia 28 tasks
Sawyer 30 tasks
Tonge 70 tasks
Arcus 83 tasks
No. of Pass Stations No.
29
Table 3 Performance of Heuristic for ASDP on Problem Set 2 Optimal Heuristic ZH / ZIP
Problem Name No. of Stations
Total Cost ZIP
No. of Stations
Pass No.
Total Cost ZH
Pass No.
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.
30
Table 4 Computational Evaluation of Branch and Cut on Problem Set 1 Problem Size
Objective Value
Branch and Cut
OSL
Prob Cycle Name Time No. No. of of Rows Cols
LP
IP
No. of Cuts
Sep Time (sec)
Total No. Time of (sec) Nodes
Total Time (sec)
No. of Nodes
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
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
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
Arcus 6,842 633 83 tasks 7,571 633
909
12,981.1 16,455
3,981
231.8
5,637
119
> 10 hrs
-
909
12,103.1 16,397
1,499
50.9
7,427
11
>10 hrs
3
-
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
570
6,091.0
7,999
72
12.2
228
1
440
75
8,240.0
9,971
1,642
155.8
5,300
19
> 10 hrs
-
Heskia 28 tasks
Sawyer 30 tasks
Tonge 70 tasks
TI 93 tasks
650
294
Arcus 17,067 851 1,200 111 tasks
31 - 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.
Table 5 Computational Evaluation of Branch and Cut on Problem Set 2 Problem Size
Objective Value
Branch and Cut
OSL
Problem Name No. No. of of Rows Cols
LP
IP
No. of Cuts
Sep Time (sec)
Total Time (sec)
No. of Nodes
Total Time (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
859
66
1,491
456
3,218 1
16,023
43.7 1
708.8
1
10,358
1
1
558
> 6 hrs
2
asd2211 347
466
9,270.9 11,602
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.
32
-