ASSEMBLY SYSTEM DESIGN: A BRANCH AND CUT ... - CiteSeerX

1 downloads 0 Views 132KB Size Report
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

-

Suggest Documents