408
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 4, AUGUST 2000
Scheduling Flexible Flow Shops with Sequence-Dependent Setup Effects Chung-Yang Liu, Student Member, IEEE, and Shi-Chung Chang, Member, IEEE
Abstract—This paper presents a Lagrangian relaxation-based approach for production scheduling of flexible flow shops (PSFFS) where sequence-dependent setup effects (time and cost) are significant. The approach exploits the idea that scheduling the production of individual parts without considering machine setup effects and scheduling the use of a machine to process a given set of parts are both simpler than PSFFS with setup effects. Since the setup of each machine must match its processing of parts, in a feasible solution to PSFFS, the part production and machine usage schedules must be synchronized. PSFFS is first formulated as a separable integer programming problem with synchronization constraints between part production and machine usage scheduling variables. Lagrangian relaxation is then applied to synchronization constraints, and the scheduling problem is decomposed into two classes of subproblems: part production and machine scheduling subproblems. In these subproblems, there are network flow structures in the equality constraints describing machine status change and production flow balance. Our iterative solution algorithm applies a minimum cost network flow algorithm to solving individual subproblems and adopts an efficient surrogate subgradient method of Luh et al. (1997) to optimize Lagrangian multipliers. A machine availability-searching heuristic finally adjusts the solution to satisfy all synchronization constraints by exploiting the network structure, economic interpretation of Lagrangian multipliers, and the slack time policy. Numerical results of 16 cases, each having 20 test problems, demonstrate that differences between the schedules obtained by our approach and the true optima are on average within 15%. CPU times spent are all less than 17 min on a Pentium-II personal computer. Among the problem dimension factors, the number of part types has the most significant effect on both optimality and computation efficiency. Application of the methodology to daily scheduling of a realistic integrated circuit testing facility of 30 machines takes about 6 min of CPU time to generate a near-optimal solution. Index Terms—Optimization methods, scheduling.
other, setup time and cost may be incurred because of changing the accessory and/or machine settings. The setup time and cost may depend on both the step just processed and the next step to be processed [10]. Industrial examples with such production sequence-dependent setup effects include stamping operations in plastics manufacturing, rolling slitting in the paper industry [15], and wafer testing in semiconductor manufacturing [34], to name a few. Machine setup time is a significant factor for production scheduling in many factories; it may easily consume more than 20% of available machine capacity if not well handled. The completion time [28] of production and machine setups is influenced by production mix and production sequence. On the one hand, processing in large batches may increase machine utilization and reduce the total setup time. On the other hand, large batch processing increases the flow time. There is a tradeoff between flow time and machine utilization by selecting batch size and scheduling. Scheduling problems with sequence-dependent setup times are among the most difficult classes of scheduling problems. A one-machine sequence-dependent setup scheduling problem is equivalent to a traveling-salesman problem [28] and is NP-hard. Even for a small system, the complexity of this problem is beyond the reach of existing theories [22], [28]. Sequence-dependent setup scheduling of a multimachine and multiproduction stage system is even more challenging. Although there has been some progress reported in [15], [17], [22], and [26], “the understanding of sequence-dependent setups, however, is still believed to be far from being complete, especially for scheduling to meet due dates,” as declared by Luh et al. [22]. A. Setup Scheduling Literature Review
I. INTRODUCTION
S
EQUENCE-DEPENDENT setup scheduling problems are frequently encountered in various production systems. When a machine switches from processing one part type to anManuscript received October 8, 1998; revised August 16, 1999. This paper was recommended for publication by Associate Editor R. Tomastik and Editor P. Luh upon evaluation of the reviewers’ comments. This work was supported in part by the National Science Council of the Republic of China under Grant NSC86-2622-E-002-025R and Grant NSC87-2622-E-002-011. This paper was presented in parts at the 35th IEEE Conference on Decision and Control, Kobe, Japan, December 1996. C.-Y. Liu is with the Control and Decision Laboratory, Department of Electrical Engineering, National Taiwan University, Taipei, Taiwan, R.O.C. (e-mail:
[email protected]). S.-C. Chang is with the Department of Electrical Engineering and Graduate Institute of Industrial Engineering, National Taiwan University, Taipei, Taiwan, R.O.C. (e-mail:
[email protected]). Publisher Item Identifier S 1042-296X(00)06947-0.
The study of scheduling problems with sequence-dependent setup effects has attracted considerable attention in recent years [15]. However, most research neglects the setup times or simplified the problems by assuming sequence independent setup times [29] or combining setup time with processing time [20]. To tackle real sequence-dependent setup problems, many researchers have focused on single-machine problems; some adopted a global search approach such as dynamic programming [8], or branch and bound [6], and some have developed heuristics [28]. Gershwin [9] proposed a feedback setup scheduling policy which chooses setup changes when the deviation of production from demand reaches some thresholds in the surplus/backlog space. Hu and Caramanis [14] investigated the optimal feedback policy for scheduling setup changes for one machine processing three part types. Ovacik and Uzsoy [25] presented a family of rolling horizon heuristics to decompose
1042–296X/00$10.00 © 2000 IEEE
LIU AND CHANG: SCHEDULING FFS’S WITH SEQUENCE-DEPENDENT SETUP EFFECTS
the scheduling problem into many subproblems over time and solve them to optimality by a branch and bound algorithm. Recently, local search approaches such as simulated annealing, tabu-search, genetic algorithm and neural networks [2], [28], have also been used. In spite of some successes in applications, these approaches still have their disadvantages. The convergence of simulated annealing typically requires exponential time complexity. There is little theoretical knowledge for designing the search process of Tabu search. A genetic algorithm depends heavily on initial conditions. Although neural networks may achieve a speedup by massively parallel computation, they require much training time and their applications to optimization problems are still in their infancy [2]. None of these methods can guarantee solution optimality within a polynomially bounded computation time. For scheduling multimachine and/or multistage problems, Gupta and Tunc [11] considered a two-stage problem while Tadei et al. [31] and Allahverdi and Aldowaisan [1] studied two-machine problems; all are without sequence-dependent setup times. For problems with sequence-dependent setup times, there have been many heuristic solution methods [17]. Dietrich and Escudero [6] considered a single-stage manufacturing problem with parallel, unrelated machines and multiple job-types. They adopted a branch-and-bound method to solve a 0–1 integer programming problem formulation. Zhou and Egbelu [38] proposed a heuristic based on the two-exchange method [27] to solve a multistage, multitype, and sequence-dependent scheduling problem. In their problem, there is only one machine in a stage. Cao and Bedworth [4] developed a Johnson’s rule-based heuristic to solve a multi-item, serial machine problem with setup times. Srivatsan and Gershwin [30] extended the idea of Gershwin [9] and developed a hierarchical approach to decide the setup change rates for a multimachine problem. In [35], Vemuganti et al. considered the issue of setup cost rather than setup time of a multi-item production scheduling problem. They proposed a heuristic to obtain near-optimal solutions for test examples. Ovacik and Uzsoy [26] extended the rolling horizon heuristic of [25] to scheduling parallel identical machines. They decomposed the scheduling problem into many single machine scheduling subproblems and used the method of [25] to solve these subproblems. In applications to the chemical industry, Gooding et al. [12] studied a flow shop of eight independent flow lines with the objective of minimizing its setup cost. The scheduling of each line was transformed into a constrained traveling salesman problem, which is then solved by a branch-and-bound method. Kondili et al. [16] formulated the scheduling problem of sequence-dependent cleaning operations for a chemical plant. But there was no development of any specific solution algorithm. Lagrangian relaxation-based methods [5], [21], [23] have been designed to solve scheduling problems of realistic size. Complicating constraints are relaxed by using Lagrangian multipliers, allowing the original problem to be decomposed into easily solved subproblems. A dual problem is formed where the multipliers are iteratively optimized. Chang and Liao [5] designed a method for scheduling a flow shop with no setup effects, and applied it to scheduling an R&D semiconductor
409
Fig. 1. Gantt charts of synchronized part production and machine schedules.
wafer fab [18]. Yang and Chang [36] used Lagrangian relaxation to solve a multi-objective scheduling problem for IC sort and test. They considered that IC’s may be processed by several alternative resource combinations with different processing speeds. They used a simulation testbed to verify their schedules and handle the dynamic and stochastic behaviors of the test floor environment. Luh et al. [22] combined Lagrangian relaxation, dynamic programming and a heuristic into a scheduling system for the manufacturing of Toshiba’s gas insulated switchgears, where parts can be grouped based on their process technologies and a significant setup occurs when switching part groups of processing. Their method groups parts to avoid excessive setups while optimizing delivery penalties. However, the setup times among groups are sequence independent. Hence very few researchers have succeeded in solving multistage, multimachine setup time scheduling problems [22]. B. Overview of This Paper This paper focuses on scheduling flexible flow shops (FFS’s) with sequence-dependent setup effects. An FFS consists of several machining groups, each of them having a number of identical machines. In the shop, production flows of work are unidirectional among machine groups [5]. A production operation can be processed by any of the identical machines in a group. An FFS is obviously a multistage and multimachine manufacturing environment. Scheduling of an FFS can be viewed from two aspects: part production and machine scheduling [19]. Part production scheduling focuses on the production of individual parts. The precedence relationships, and the demanded quantities and due date requirements of individual orders can easily be considered when solving the scheduling problem from this aspect [5], [13] without considering machine capacity and setup constraints. Machine scheduling focuses on individual machines and determines the job processing sequence of each machine. Capacity constraints and sequence-dependent setup times of a machine are central to this aspect. To get a feasible production schedule, the part production schedule and machine schedule must be synchronized as shown in Fig. 1. These ideas motivate our development of a Lagrangian relaxation-based solution method. Objectives for scheduling an FFS are as follows: 1) to meet customers’ due dates on time; 2) to reduce work in process (WIP); and 3) to reduce the machine setup cost. This scheduling problem is formulated as a large-scale integer linear programming problem, where precedence constraints of individual
410
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 4, AUGUST 2000
process flows are formulated as flow balance equations [5] and machine states are defined for individual machines to formulate machine usage balance equations. There are synchronization constraints between decision variables of part processing and machine usage. Instead of finding the optimal schedule to this NP-hard problem, the suboptimal approach of this paper combines the Lagrangian relaxation framework of Luh [21] and a network flow-based algorithm in [5]. Lagrangian relaxation is used to relax the synchronization constraints, and decompose the original problem into part production scheduling and machine scheduling subproblems. In these subproblems, machine status change and part flow balance equations have network flow structures. The optimal integer solution to these subproblems can be solved efficiently using the RELAX code of Bertsekas and Tseng [3]. The Lagrangian multipliers of the dual problem are optimized by using an effective surrogate subgradient algorithm [37]. The solution of the dual problem provides a lower bound on the objective function value of the optimal feasible solution. As the dual solution may not be feasible (violating synchronization constraints), a machine availability-search heuristic is then developed to adjust the relaxed solution to a feasible one by utilizing the economic interpretation of Lagrangian multipliers, exploiting the network structure and using a slack time policy. For parts with production flows unsynchronized with machine setups, the heuristic: 1) determines their priorities by comparing their slack times; 2) searches the available machine-time and reroutes their production flows starting from the part of the highest priority by solving a minimum cost linear network flow (MCLNF) model for the part and utilizing the relaxed solution. This heuristic generates an upper bound on the optimal solution. The relative difference between the upper and lower bounds is called a duality gap, which indicates an upper bound on the percentage deviation from optimality of this feasible schedule. Numerical experiments are conducted to examine the efficiency and optimality of our algorithm. Sixteen test cases are designed for evaluation. The largest problem dimensions of these test cases are 20 part types, 20 orders, 10 stages, 40 machines, and 200 time periods, which are designed by extending the maximum dimensions of test problems available in the literature [10], [12], [15], [22], [26]. Each case has 20 examples. The due dates and required quantities of these examples are generated randomly. Resultant average duality gaps are less than 15% and CPU times on a PC (Pentium-II 400) are less then 17 min. Numerical results demonstrated that the number of part types is the most significant dimension factor for computation efficiency. The number of part types and stages are the two dominant factors for optimality. Our algorithm has also been applied to the daily scheduling of a realistic integrated circuit (IC) testing facility, where there are 30 machines, 2 stages, 6 part types, and 96 time periods. A near-optimal solution with a duality gap 9% is obtained in 6 min of CPU time. Compared to a scheduling method in practice where setup times are approximated as part of processing times, our solution leads to a schedule 1/70 in setup time and 1/14 in production cost.
The remainder of this paper is organized as follows. Section II formulates the scheduling problem mathematically. The solution methodology and the feasibility adjustment heuristic are described in Sections III and IV. Numerical results and algorithmic properties are analyzed in Section V. Section VI presents the application of our algorithm to a real problem and demonstrates its practicality. Finally, Section VII concludes this paper.
II. SEQUENCE-DEPENDENT SETUP PROBLEM FORMULATION Consider an FFS for processing various types of discrete parts. Production process flows of the FFS consist of a sequence of production stages. Assume without loss of generality that production flows of all types of parts go through all the stages in the same sequence. A given customer order is allowed to be split across machines. There are a group of identical machines for processing each stage and distinct machine groups are used among stages. One machine can only process one part at a time, and unscheduled machine failures are not considered. Machine setup times are significant compared to processing times. The setup time depends on part types of the adjacent jobs on one machine and initial states of machines are given. There exists a buffer for each stage, which is large enough not to pose a significant constraint. There is enough material supply to this FFS. It is also assumed that each order requests only one type of parts with a given due-date. To formulate a scheduling problem of this FFS, let us define the following notation. Input Variables: Time horizon of scheduling. Time index, . Total number of part types. Part type index, . Total number of processing stages. Stage index, . Total number of orders. Order index, . Required part type of order- . Required quantity of type- parts by order- . Release quantity of order- at time- with . Earliness penalty coefficient of order- . Tardiness penalty coefficient of order- . Holding cost per unit of order- in the buffer of stage . Due date of order- . Total number of machines. Set of machines for processing stage- , . Machine index, . Cost of setting up a machine in group from processing type- parts to processing type- parts. Time for processing a type- part at stage- . Time for setting up a machine in group from processing type- parts to processing type- parts.
LIU AND CHANG: SCHEDULING FFS’S WITH SEQUENCE-DEPENDENT SETUP EFFECTS
Intermediate Variables: , if machine is idle but ready to process , otherwise. type- parts at time ; Stage- buffer level of parts required by order- at the beginning of time period . Number of parts of order- completed at the beginning of time period . Decision Variables: , if one part of order- is loaded for stageprocessing by machine- at the beginning of time , otherwise. period ; , if machine starts to process a type- part , otherwise. at time ; , if machine for stage- starts to set up from processing type- parts to type- parts at time ; , otherwise. is ready for proIf at a time period , a machine cessing type- parts, the machine must be under either of the following three conditions before time : 1) it starts processing ; 2) it is idle but ready to process a a type- part at time ; or 3) it begins setup at time type- part at time for process type- part from originally processing type- parts. During time , the machine can be either started to process typeparts, set up to processing other types, or kept idle. The above relationship can be expressed by
411
and (5) The precedence relationships among operations of each part are implied in these flow balance equations. The number of orderparts of completed at time period- is then (6) It is obvious that decisions for processing parts must be synchronized with the machine usage decisions: Synchronization Constraints: (7) One of the objectives of scheduling is to meet customers’ due dates just in time. For this purpose, there is a penalty for either early or late delivery of an order. The earliness and lateness penalties for each part of order- completed at time are defined by if if if
(8) ,
where is a constant representing a time window in which the and part can be scheduled without penalty. Coefficients can be different among orders to reflect their relative importance. The early or late delivery penalty cost of an order is formulated as follows:
machine usage balance equations
(1)
with
,
and
,
,
and and given. In (1), machines are assumed, for simplicity, to be initially idle but ready for processing one type of parts. It then holds that (2) because a machine can only be ready for one type at a time. In the production flow, a part of order- (type- ) loaded onto a machine for processing from buffer at time goes into buffer after stage periods of processing. The production flow for parts of an order can therefore be described by part flow balance equations part flow balance equations (3)
(4)
(9) Other objectives of scheduling include the reduction of WIP and setup costs. The production scheduling problem is then to determine a schedule that minimizes the total production cost and satisfies all the system constraints. The problem is formulated as (P)
subject to constraints (1)–(7), where the first term is incurred by the penalty for early or tardy deliveries, the second by holding in-process inventories and the third by machine setups. Note that problem (P) is a multistage multimachine scheduling problem with consideration of sequence-dependent machine setup cost and time. Machine usage and part production are described by a set of flow balance equations, respectively. Decision variables in (P) can clearly be divided into two groups: corresponding to the part production schedule and , corresponding to the machine usage schedule, and the part production schedule should be synchronized with the machine usage schedule. The synchronization constraint is expressed as
412
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 4, AUGUST 2000
(7). Without constraint (7), problem (P) would essentially consist of two independent scheduling subproblems. One would be a part production scheduling subproblem (PSS), which minimizes the sum of delivery penalty cost and the in-process inventory cost subject to constraints (3)–(5). The other would be a machine scheduling subproblem (MSS) which minimizes the setup cost subject to constraints (1) and (2). The part flow balance equations (3)–(5) and the machine usage balance equation (1) have a network structure. Intuitively, when all the machines satisfy their respective machine usage balance equations and the part production scheduling of parts are synchronized with machine schedules, there are then no machine capacity violations, i.e., constraints (1), (2), and (7) imply capacity constraints. In summary, machine states and synchronization between part production and machine usage schedulings are the two salient notions in our problem formulation (P). In the mathematical problem formulation of [22], the setup times among groups of job processing are sequence independent. So Luh et al. can treat the setups themselves as jobs and formulate a separable integer programming problem (SIPP). The solution technique for problems without setups in [13], [21] is then applied to the SIPP, where machine capacities are scheduled for job processing. For the more general class of sequence-dependent setup scheduling problems such as (P), machine state settings are needed in addition to machine capacities for scheduling sequence-dependent setups. It then naturally follows that machine state transitions should be synchronized with part flows. III. LAGRANGIAN RELAXATION AND DUAL SOLUTION METHODS Motivated by the above observations in Section II and lessons learned from [5], [7], [21], and [23], we adopt a solution approach based on Lagrangian relaxation and network flow optimization. Lagrangian relaxation relaxes the synchronization constraints (7) of problem (P) by using Lagrangian multipliers and decomposes problem (P) into independent product and machine scheduling subproblems. As a result of relaxing the constraints, a dual function is formed which is a function of the Lagrangian multipliers. Both the flow balance equations and the machine usage balance equations give a network flow structure to each subproblem. Under a given set of Lagrangian multipliers, each subproblem is solved as a minimum cost linear network flow (MCLNF) problem [5] by using the RELAX II code of [3]. Multipliers are iteratively updated by a surrogate subgradient method, which is efficient when there are a large number of subproblems [37]. A. Decomposition by Lagrangian Relaxation Applying Lagrangian relaxation to the synchronization constraints, we form a Lagrangian function for problem (P) as
where are Lagrangian multipliers. The Lagrangian , , and , where function above is separable in , , and . Given a set of Lagrangian multi, define for orderpliers
(10) and define for machine
(11) The dual problem to (P) after Lagrangian relaxation can then be defined in the following form: (D)
subject to constraints (1)–(5). For a given set of Lagrangian multipliers , i.e., after relaxing synchronization constraints, there are two classes of independent subproblems in (D) as follows: 1) part production scheduling subproblem for the required parts of order- , for (PS- ) subject to constraints (3)–(5); 2) machine scheduling subproblem for machine (
- )
subject to constraints (1) and (2). B. Network Flow Algorithms for Subproblems Each (PS- ) is a minimum cost linear network flow (MCLNF) problem due to the network structure of the flow balance equations and the linear cost function. Each node of , corresponds to the flow balance the network, denoted by equation of stage- at time- for order- . There are two kinds of arcs. One represents part processing paths. There are machines in stage- . Therefore, this network is designed to parallel arcs between node and have with ’s as flows on them. The other represents the parts as carried over in buffers between two time periods with and . The cost of the flow on the arc between node an arc is defined by the cost coefficient of the corresponding variable in the cost function. Interested readers may refer to [4] for more details.
LIU AND CHANG: SCHEDULING FFS’S WITH SEQUENCE-DEPENDENT SETUP EFFECTS
Fig. 2.
413
Network flow representation of machine usage balance equation.
Each subproblem of (MS ) is also viewed as a MCLNF corresponds to a machine problem, where a network node at time- . usage balance (1) for part type- by machine There are three types of arcs, among which: 1) an arc ( , ) represents machine processing variable and the associated to ; 2) arc cost is the Lagrangian multiplier represents machine setting up variable an arc ( , with as its arc cost; and 3) an arc ( , ) repwith zero cost. In addition, resents a machine idle variable let nodes and be the source and sink nodes of the network respectively. The source node is connected by arcs to nodes , with a one unit input flow modeling constraint (2). The terminal node is connected by , to serve as a sink of flows. Fig. 2 illustrates the network representation of (1) of one machine in a two part types and six time periods example. The machine index is omitted in the figure for clarity of presentation. In the example, the processing times for type-1 is three periods and two periods for type-2, setup times for setting up from type-1 to type-2 is one period and two period for type-2 to type-1. An MS is essentially a shortest path problem. However, for simplicity of implementation, the RELAX II code developed by Bertsekas and Tseng [3] is adopted for solving both types of subproblems as MCLNF problems. C. Lagrangian Multipliers Adjustment Due to the integrality requirements in subproblems, the dual function is polyhedral concave made up of many facets and is nondifferentiable [32]. Lagrangian multipliers are iteratively updated by a surrogate subgradient method (SSG). Compared with the subgradient method [22], facet ascending method [32] and bundle method [33], SSG provides an approach for speeding up computation [37]. The key idea of SSG is that near optimization can be used to obtain a proper surrogate subgradient direction. Instead of solving all subproblems before updating multipliers, the SSG updates multipliers after solving each subproblem. , , Let be the solutions to individual and subproblems (PS- ) and (MS- ) after solving one subproblem at the th iteration. for a given set of Lagrangian multipliers
The surrogate subgradient of the surrogate dual function with respect to a Lagrangian multiplier is
(12) and the SSG updates Lagrangian multipliers
by (13)
where
is the step size at the th iteration determined by
(14) [37], an estimate of the optimal dual cost, with the surrogate dual cost of the th iteration. After solving and all subproblems once, the SSG checks the stopping criteria in order to stop this adjustment procedure. The details of surrogate subgradient method are discussed in [37]. Since problem (P) is an integer linear program, there generally exists a gap between the primal and dual optimal cost and the schedule obtained from solving (D) may be infeasible to problem (P). In practice, the solution process of the dual problem may be terminated before the optimal solution is achieved because only a limited amount of computation time is allowed [21]. An algorithm is thus needed to adjust the infeasible schedule to a feasible solution of (P). IV. FEASIBILITY ADJUSTMENT METHOD As has been discussed in Section III, a dual solution may be infeasible, i.e., some of the synchronization constraints may be violated. Adjusting the dual solution to a primally feasible one is a recognition problem of nonpolynomial time complexity [27]. Instead of searching for the optimal solution, a heuristic is designed in this section, which includes considerations of machine setup time, precedence constraints of production flow and delivery penalty, to rapidly adjust the infeasible solution to a near-optimal and feasible solution.
414
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 4, AUGUST 2000
Our heuristic exploits two observations on the dual-solution method. Lagrangian multipliers of the dual problem can be interpreted as marginal costs [23] for synchronizing the part production schedule with the machine schedule. According to (12) of an unsynchronized and (13), a Lagrangian multiplier . Under schedule is increased when , to minimize the total the marginal cost interpretation of may decrease and may increase from cost, solving the subproblems. Similarly, when , is decreased, may increase and may decrease. This way, and may be . synchronized via the adjustment of Synchronized portions of the dual solution can be taken as scheduled and provide a guideline to adjust the dual solution to a feasible one. After selecting a part to be rescheduled from the unsynchronized portions, the available machine-times for this part can be decided by those scheduled parts and its associated setup time. Note that rescheduling a part changes the availability of machine-times. These unscheduled parts are thus rescheduled one by one. Based on these observations, an iterative algorithm adjusts the schedule to feasibility one part at a time by exploiting the network structures of production flow and machine usage constraints and the marginal cost interpretation of Lagrangian multipliers. The basic ideas of our heuristic are sketched as follows. The heuristic first checks all part production and machine usage schedules over all time periods to identify whether synchronization constraints are satisfied in the dual solution. It then retains the portions of both part production and machine usage schedules which satisfy the synchronization constraints. Parts in the retained schedules are reallocated to individual orders according to the earliest due date (EDD) order first rule. The required quantity of an order may not be completely fulfilled this way. The unfulfilled requirement of each order is then separated into individual parts for rescheduling. To prioritize among these unscheduled parts, slack time serves as the priority metric because it reflects the due date tightness of a part and has been successfully applied to FFS dispatching [28]. The part with the least slack time is scheduled first. Our heuristic identifies available machine-times by searching through the retained machine schedule and constructs for a selected part an admissible production flow network similar to the network flow model of a PSS. The part is then scheduled by finding the shortest path in the network. Given a set of Lagrangian multipliers and the corresponding dual schedule, the algorithmic steps of our feasibility adjustment are summarized as follows.
Step 0: Take the schedules obtained from solving the dual problem as the initial part production and machine usage schedules. Step 1: Retain the product and machine schedules that satisfy all constraints. 1.1 Check all the synchronization constraints (7) to identify and retain the feasible portion of part production and machine usage schedules. Let the retained
part production schedules be and machine usage schedules be 1.2 Identify the unfulfilled quantity of each order. to Do for Unscheduled quantity of order-
Enddo Step 2: Calculate the slack time of each unscheduled part. Assume that unscheduled parts of one order will be delivered individually at different time period in order to force priority differentiation. Define the set of all unscheduled parts as . to Do for Do for to Slack-time of an unscheduled part , . Enddo Enddo. Step 3: Select an unscheduled part with the least slack time. . is a typepart. The selected part Step 4: Find the available machine-times and costs for the selected part based on machine schedules and Lagrangian multipliers. , where one type- part is Consider a machinescheduled at time and its next part processing (type- ) , and is scheduled at time , i.e., . In the case of , machine- is then available for between time and . If is scheduled to begin its processing by machine at time , between time and , there are two setup times inand to , and the cost of machine curred, to at time for is . ( ), then Note that when ( ) and ( ). Define to record the availability of the manew variables . If machine is chine- for processing part ; otherwise, . available at time , Step 5: Construct the production network and reschedule part . as 5.1 Construct a production network for part described in Section III-B. In this network, the capacity to node is , of an arc from node . and the arc cost is by finding the shortest 5.2 Reschedule part path of this network. , send 5.3 If there are no feasible paths for part it to an infeasible set and output “no feasible schedule .” for part , update the product and machine schedules, Step 6: If goto step 3;
LIU AND CHANG: SCHEDULING FFS’S WITH SEQUENCE-DEPENDENT SETUP EFFECTS
else, output the feasible schedule and list the elements . of when
415
is the number of SSG iterations, and time for feasibility adjustment
for the feasible schedule of the objective funcThe value . The value tion (P) is an upper bound on the optimal cost is a lower bound on . The of the optimal dual function is known as a measure of solution duality gap optimality [21], [36]. Intuitively, a good dual solution should result in a large portion of synchronized product and machine schedules. The ratio of retained parts, which is called retaining ratio, can be used as a metric to measure dual solution quality. V. EVALUATION OF ALGORITHMIC PROPERTIES Numerical experimentation is conducted in this Section to assess the features of the proposed algorithm. Cases are designed and conducted to study algorithmic properties of computational efficiency and optimality with respect to problem dimensions. The scheduling algorithm is implemented in C language on a PC with Pentium-II (400 MHz) CPU. In the implementation, in (14) is critical the selection of estimated optimal cost to the convergence and the magnitude of duality gap. A small is near the true optimal duality gap can be obtained when cost; however, the true optimal cost is generally unknown beis estimated in each SSG iteration. forehand. The value of , is considered to An estimated optimal cost at iteration , be near the dual optimal cost when the surrogate dual function . Since the surrogate values satisfy dual cost is always smaller than the primal optimal cost [38], set for , where , before iteration . In the SSG iterations for upand dating Lagrangian multipliers, the stopping criteria are checked once after solving all subproblems. The iteration terminates at when , where an iteration is a positive integer and is the number of subproblems. All multipliers are initialized as zero and all demands are assumed to be released at the beginning of the scheduling horizon, i.e., . Now let us evaluate the computational efficiency and solution optimality of our scheduling algorithm. Computation time is a function of problem dimension parameters such as the number of part types , the number of stages , the number of orders , the number of machines and the length of scheduling horizon . Terms of computation time are defined by total solution time
time for solving the dual problem time for feasibility adjustment
where time for solving the dual problem time for generating network model time for solving MCLNF of a subproblem time for updating Lagrangian multipliers
time for step of the adjustment algorithm Experimental results of [5] show that times for network model generation and updating Lagrangian multipliers are much less than that for solving MCLNF. The numerical experiments in [3] demonstrated that the computation time of the RELAX II code for solving a MCLNF increases almost linearly with respect to the numbers of nodes and arcs. In the network of each PS subnodes and at most problem, there are arcs. Our scheduling algorithm solves PS subproblems. In the network for each of the M MS subprobnodes and at most lems, there are arcs. From the discussions above, affects the number of PS and the number of arcs of MS may grow quadratically with . The number of part types is therefore expected to be the most significant factor among all dimension factors affecting the computation time of each SSG iteration. As to the convergence time of SSG iterations, it may generally be lengthened as the number increases. The feasibility adof Lagrangian multipliers justment algorithm has six steps. Step 5 exploits the MCLNF’s to adjust the dual solution and takes the most of the computation time among the six steps. The worst case for feasibility adjustment is to reschedule all of the required parts when retaining ratio 0% for a dual problem. In that case, there needs a total MCNLF calls for feasibility adjustment. of The optimality of our scheduling algorithm is measured by the metrics of duality gap and retaining ratio. There is still no good method to forecast the duality gap before solving a problem. The duality gap may exist because the dual optimum may not be numerically found by a solution algorithm. In this case, the gap is a function of problem dimensions, especially the number of Lagrangian multipliers and the number of decision variables. Theoretically, even if the dual optimal solution can be found, a duality gap still exists in some classes of problems [24]. Nemhauser et al. [24] showed that the duality gap depends on the coefficients of objective function and the structure of nonrelaxed constraints. However, there have been no quantitatively thorough descriptions of the dependence. To the best of the authors’ knowledge, there are no standard sets of testing problems for the class of sequence-dependent setup scheduling problems in the literature1 [15], [28]. In papers using rule-based approaches, the maximum dimensions of the test problems are 150 jobs [26], 6 part types [15], 3 stages [10], 8 machines/machine groups [12], and 150 time periods [12]. In papers using a mathematical programming-based approach, the maximum dimensions are 5 jobs, 30 time periods, and 4 machines [22]. Based on these analyses of computation time and solution optimality, 16 study cases, each with 20 examples, are designed. The required quantity is randomly generated except that the highest machine utilization level is managed to be within 60% 70%. Initial states of machines are also randomly 1[Online]
Available at http://www.st.rim.or.jp/~kanada/combinatorial.html
416
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 4, AUGUST 2000
TABLE I NUMERICAL RESULTS FOR STUDYING CASES
generated. The problem dimension ranges of these testing examples match the scales of small to medium sized real application problems and are larger than the test problems available in the literature [5], [10], [12], [15], [22], [26] for FFS’s with or without sequence-dependent setup effect. The , , , baseline problem dimensions are and . Cost function coefficients for all , , , , and the cases are (setup cost) (setup time), . The due date of each order is randomly generated in a uniform distribution . over In the experimentation, a new metric of percentage of setup time consumption (PSTC) is adopted in addition to metrics such as CPU time spent, duality gap and retaining ratio. PSTC is defined as the percentage of total setup times consumed divided by total machine-time during the scheduling horizon. Intuitively, PSTC is a characterization for the significance of setup time effect in a problem. The scheduling results of individual cases are presented in Table I, where the best, average and worst performances among the 20 examples of each case are listed. Standard deviations of performance metrics for each case are also given. Among the 16 cases, Case 2 is the baseline case. In addition to Case 2, cases are divided into five groups for studying and respectively. the effects of dimension factors Results show that CPU times are less than 17 min and duality gaps are below 40% over all the 320 examples. Average duality gaps of individual cases are less than 15%. Most retaining ratios are higher than 50%, which implies a high ratio of synchronized schedules from solving the dual problems. VI. APPLICATION TO SCHEDULING IC PROBING Our algorithm is now applied to scheduling circuit probing (C/P) machines of integrated circuit (IC) testing, where the setup effect is significant. In the manufacturing process of IC chips, the circuit of each chip is probed after being fabricated on a silicon wafer. Automatic equipment (tester) is used to test whether
chips on a wafer are operational according to specification [34], [36]. There are two major stages for circuit probing (C/P), which may use the same type of testers. Setup time effects are significant in C/P process, which are incurred in changing the probe, test program and test temperature of a tester. An industrial practice of scheduling such operations with significant setup effects is to approximate the scheduling problem of sequence-dependent setup times by treating setup times as part of processing times [15], [34]. Empirical rules are usually used to estimate the setup capacity. This approximate schedule only provides a capacity allocation plan of machines; detailed operation scheduling is required for shop floor execution. In a realistic C/P facility, the average test time is 30 min per wafer, and a tester setup takes an average of 2 h. There are 30 testers, and 15 testers specified to test the parts in stage-1. About ten orders and six part types need to be scheduled in one day. Time unit of scheduling is 15 min and there are 96 time periods. The objective is to minimize the delivery penalty as defined in (9). Production cost function coefficients are , , , , and (setup cost) 10, . Data of orders and machines initial states in the C/P test scheduling problem are given in the Appendix. Following the aforementioned approximation, processing times are lengthened by 20% to incorporate the setup time effect and set setup times to zero. The approximation leads to a scheduling problem without setup time consideration. Specifically, the time unit of the scheduling problem after this approximation is 18 min, the number of time periods is reduced to 80, and the average test time becomes 36 min. A due of order- is then converted to , where time is the largest integer less than or equal to . The Lagrangian relaxation and network flow based algorithm of [5] is then applied to solve it. It takes 89.7 s to get a schedule with a dual cost of 6002.6, a primal cost of 6357.1, and a duality gap of 5.90%. The schedule for stage 2 is shown in Fig. 3. It is no surprise that machines of the same functionality tend to be scheduled to test parts of the same part-type in parallel because
LIU AND CHANG: SCHEDULING FFS’S WITH SEQUENCE-DEPENDENT SETUP EFFECTS
417
Fig. 3. Schedule of Stage 2 by the Approximation Approach.
Fig. 4.
A Realistic Adjustment of the Approximate Schedule of Stage 2.
it does not directly consider the setup time effect and smaller batch sizes are preferred. Based on the operation sequence of this approximate schedule, the original processing times and the setup consideration, a new set of time labels are calculated and added to the schedule to make it realistic. There are 412 setups incurred and the primal cost is 116 149. There are 312 jobs overdue as compared to no overdue jobs in the approximate schedule. The realistic schedule for stage 2 is depicted in Fig. 4, where it turns out taking more than 20% of machine available capacity in setting up. Direct application of our algorithm to the original setup scheduling problem results in a solution with dual cost 7426.5 and primal cost 8084.3. The duality gap is 8.86%, retaining ratio is 57% (552/960) and CPU time spent is 335.3 s. The schedule for stage 2 is also shown in Fig. 5. This schedule only involves six setups, three in stage 1 and three in stage 2, and all parts satisfy due date requirement, i.e., no late jobs. The production cost of our algorithm is 1/14 (8084.3/116 149) and the setup time spent is almost 1/70 (6/412) as compared to
those of the realistic schedule obtained from the approximate approach at a price of 3.66 times longer CPU time. In this real application problem, though our algorithm requires more CPU time, it has many benefits. Its schedules can be used directly in the shop floor because it handles the setup effect and delivery penalty simultaneously. Instead of empirical estimate of setup capacity, an accurate estimation of machine capacity is used in order to have a good order delivery plan. This result demonstrates that the proposed solution algorithm can be applied to a realistic manufacturing environment when setup effects are significant. VII. CONCLUSIONS In this paper, an optimization problem formulation and solution methodology were developed for solving an FFS scheduling problem where multiple stages, multiple machines, and sequence-dependent setup times are considered. Synchronization between part production and machine usage schedulings served as the key to formulate the scheduling problem as an
418
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 4, AUGUST 2000
Fig. 5. Schedule of stage 2 by our algorithm.
TABLE II INITIAL STAGES OF STAGE 2 MACHINES
industrial practice. Such results indicated that the algorithmic design in this paper provide a practical advancement in scheduling FFS’s with sequence-dependent setup effects to industrial applications. APPENDIX
TABLE III DATA OF ORDERS
The detailed data of a realistic IC probing problem is shown in Tables II and III. REFERENCES
integer programming problem with a separable structure. By using Lagrangian relaxation to relax the synchronization constraints, this large-scale scheduling problem was decomposed into scheduling subproblems of individual part productions and machine usage, where the existence of network structures allows efficient integer solutions. A computationally efficient surrogate subgradient method was used to optimize Lagrangian multipliers and an iterative heuristic exploiting the network structure from the relaxed solution was developed to obtain a feasible solution. Numerical results over 320 test problems demonstrated the feasibility, computation efficiency and suboptimality of our algorithm. The worst case duality gap was less than 40% while the longest CPU time spent was less than 17 min on a PC (Pentium-II 400). The averages were less than 15% and 8 min, respectively. Application of our algorithm to scheduling an IC test facility resulted in a near-optimal solution with duality gap less than 9% in 6 min of CPU time. The schedule requires 1/70 setup time and 1/14 production cost of the schedule obtained by an
[1] A. Allahverdi and T. Aldowaisan, “Job lateness in flowshops with setup and removal times separated,” J. Oper. Res. Soc., vol. 49, pp. 1001–1006, 1998. [2] E. Aarts and J. K. Lenstra, Local Search in Combinatorial Optimization. New York: Wiley., 1997. [3] D. P. Bertsekas and P. Tseng, “Relaxation methods for minimum cost ordinary and generalized network flow problems,” Oper. Res., vol. 36, no. 1, pp. 93–114, 1988. [4] J. Cao and D. D. Bedworth, “Flow shop scheduling in serial multi-product processes with transfer and setup times,” Int. J. Prod. Res., vol. 30, no. 8, pp. 1819–1830, 1992. [5] S.-C. Chang and D.-Y. Liao, “Scheduling flexible flow shops with no setup effects,” IEEE Trans. Robot. Automat., vol. 10, pp. 112–122, Apr. 1994. [6] B. L. Dietrich and L. F. Escudero, “On solving a 0–1 model for workload allocation on parallel unrelated machines with setups,” in Proc. 3rd ORSA/TIMS Conf. on Flexible Manufacturing System: Operations Research Models and Applications, 1989, pp. 181–186. [7] M. L. Fisher, “Lagrangian relaxation method for solving integer programming problems,” Manage. Sci., vol. 27, pp. 1–18, 1981. [8] A. Gascon and R. C. Leachman, “A dynamic programming solution to the dynamic, multi-item, single-machine scheduling problem,” Oper. Res., vol. 36, no. 1, pp. 50–56, Jan./Feb. 1988. [9] S. B. Gershwin, Manufacturing Systems Engineering. Englewood Cliffs, NJ: Prentice-Hall, 1993. [10] S. K. Gupta, “N jobs M machines job-shop problems with sequence dependent setup times,” Int. J. Prod. Res., vol. 20, pp. 643–656, 1982. [11] J. N. D. Gupta and E. A. Tunc, “Scheduling a two-stage hybrid flowshop with separable setup and removal times,” Eur. J. Oper. Res., vol. 77, pp. 415–428, 1994. [12] W. B. Gooding, J. F. Pekny, and P. S. McCroskey, “Enumerative approaches to parallel flowshop scheduling via problem transformation,” Comput. Chem. Eng., vol. 18, no. 10, pp. 909–927, 1994. [13] D. J. Hoitomt, P. B. Luh, E. Max, and K. R. Pattipati, “Scheduling jobs with simple precedence constraints on parallel machines,” Contr. Syst. Mag., vol. 10, no. 2, pp. 34–40, Feb. 1990.
LIU AND CHANG: SCHEDULING FFS’S WITH SEQUENCE-DEPENDENT SETUP EFFECTS
[14] J. Hu and M. Caramanis, “Near optimal setup scheduling for flexible manufacturing systems,” in Proc. 3rd Int. Conf. on Computer Integrated Manufacturing, Troy, NY, May 20–22, 1992, pp. 192–201. [15] S. C. Kim and P. M. Bobrowski, “Impact of sequence dependent setup time on job shop scheduling performance,” Int. J. Prod. Res., vol. 32, no. 7, pp. 1503–1520, 1994. [16] E. Kondili, C. C. Pantelides, and R. W. H. Sargent, “A general algorithm for short-term scheduling of batch operations—I: MILP formulation,” Comput. Chem. Eng., vol. 17, pp. 211–227, 1993. [17] Y.-H. Lee, K. Bhaskaran, and M. Pinedo, “A heuristic to minimize the total weighted tardiness with sequence-dependent setups,” IIE Trans., vol. 21, no. 9, pp. 45–52, 1997. [18] D.-Y. Liao, S.-C. Chang, K.-W. Pei, and C.-M. Chang, “Daily scheduling for R&D semiconductor fabrication,” IEEE Trans. Semiconduct. Manufact., vol. 9, no. 4, pp. 550–561, 1996. [19] C.-Y. Liu, “Scheduling flexible flow shops with sequence-dependent setup effect,” in Proc. 35th IEEE Conf. Decision and Control, Kobe, Japan, Dec. 1996, pp. 1757–1762. [20] C.-Y. Liu, S.-C. Chang, H.-M. Hsu, and C.-C. Chen, “Scheduling for IC testing and assembly,” in Proc. Automation’94 Taipei, Taiwan, R.O.C., 1994, vol. 4, pp. 59–67. [21] P. B. Luh and D. J. Hoitomt, “Scheduling of manufacturing systems using the Lagrangian relaxation technique,” IEEE Trans. Automat. Contr., vol. 38, no. 7, pp. 1066–1079, 1993. [22] P. B. Luh, L. Gou, Y. Zhang, T. Nagahora, M. Tsuji, K. Yoneda, T. Hasegawa, Y. Kyoya, and T. Kano, “Job shop scheduling with group-dependent setups, finite buffers, and long time horizon,” Ann. Oper. Res., vol. 76, pp. 233–259, 1998. [23] D. G. Luenberger, Linear and Nonlinear Programming. Reading, MA: Addison-Wesley, 1984. [24] G. L. Nemhauser and L. A. Wolsey, Integer and Combinatorial Optimization. New York: Wiley, 1988. [25] I. M. Ovacik and R. Uzsoy, “Rolling horizon algorithm for a singlemachine dynamic scheduling problem with sequence- dependent setup times,” Int. J. Prod. Res., vol. 32, no. 6, pp. 1243–1263, 1994. , “Rolling horizon procedures for dynamic parallel machine sched[26] uling with sequence-dependent setup times,” Int. J. Prod. Res., vol. 33, no. 11, pp. 3173–3192, 1995. [27] C. H. Papadimitriou and K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity. Englewood Cliffs, NJ: Prentice-Hall, 1982. [28] M. Pinedo, Scheduling Theory, Algorithms, and Systems. Englewood Cliffs, NJ: Prentice-Hall, 1995. [29] C. L. Stowers and U. S. Palekar, “Lot sizing problems with strong setup interactions,” IIE Trans., vol. 29, no. 1, pp. 167–169, 1997. [30] N. Srivatsan and S. B. Gershwin, “Selection of setup times in a hierarchically controlled manufacturing system,” in Proc. 29th IEEE Conf. Decision and Control, Honolulu, HI, Dec. 1990, pp. 575–581. [31] R. Tadei, J. N. D. Gupta, F. Della Croce, and M. Cortesi, “Minimizing makespan in the two-machine flow-shop with release times,” J. Oper. Res. Soc., vol. 49, pp. 77–85, 1998. [32] R. N. Tomastik and P. B. Luh, “The facet ascending algorithm for integer programming problems,” in Proc. 32nd IEEE Conf. on Decision and Control, San Antonio, TX, Dec. 1993, pp. 2880–2884. [33] R. N. Tomastik and P. B. Luh, “A reduced-complexity bundle method for maximizing concave nonsmooth functions,” in Proc. 35th IEEE Conf. on Decision and Control, Kobe, Japan, Dec. 1996, pp. 2114–2119.
419
[34] R. Uzsoy, C.-Y. Lee, and L. A. Martin-Vega, “A review of production planning and scheduling models in the semiconductor industry—Part I: System characteristics, performance evaluation and production planning,” IIE Trans., vol. 24, no. 4, pp. 47–60, Sep. 1992. [35] R. R. Vemuganti, H. Arsham, and S. P. Shao Jr, “An implementation of Lagrangian decomposition in solving a multi-item production scheduling problem with changeover cost and restrictions,” Math. Comput. Modeling, vol. 12, no. 12, pp. 1437–1446, 1989. [36] J. Yang and T.-S. Chang, “Multiobjective scheduling for IC sort and test with a simulation testbed,” IEEE Trans. Semiconduct. Manufact., vol. 11, no. 2, pp. 304–315, May 1998. [37] X. Zhao, P. B. Luh, and J. Wang, “The surrogate gradient algorithm for Lagrangian relaxation method,” in Proc. 36th IEEE Conf. on Decision and Control, San Diego, CA, Dec. 1997, pp. 305–310. [38] C. Zhou and P. J. Egbelu, “Scheduling in a manufacturing shop with sequence dependent setups,” Robot. Comput.-Integr. Manufact., vol. 5, no. 1, pp. 73–81, 1989.
Chung-Yang Liu (S’94) received the B.S. and M.S degrees in automatic control engineering from Feng Chia University, Taichung, Taiwan, R.O.C., in 1988 and 1990, respectively. He received the Ph.D. degree in electrical engineering from National Taiwan University, Taipei, Taiwan, in 2000. From 1990 to 1992, he served as an Ensign in the Chinese Navy, Taiwan. In the past few years, he has conducted joint research with industrial sponsors on scheduling with applications to semiconductor manufacturing and air traffic management. His research interests include supply chain management, computer-integrated manufacturing and production management for semiconductor manufacturing, and air traffic management.
Shi-Chung Chang (S’83–M’87) received the B.S.E.E. degree from National Taiwan University, Taiwan, R.O.C., in 1979, and the M.S. and Ph.D. degrees in electrical and systems engineering from the University of Connecticut, Storrs, in 1983 and 1986, respectively. From 1979 to 1981, he served as an Ensign in the Chinese Navy, Taiwan. He worked as a Technical Intern at the Pacific Gas and Electric Company, San Francisco, CA, in the summer of 1985. During 1987, he was a Member of the Technical Staff, Decision Systems Section, ALPHATECH, Inc., Burlington, MA. He has been with the Electrical Engineering Department of National Taiwan University since 1988 and was promoted to Professor in 1994. His research interests include control and management of complex systems, high speed networks, optimization theory and algorithms, and distributed decision making. He has been a Principal Investigator and Consultant to many industry and government funded projects in the above areas, and has published more than 100 technical papers. Dr. Chang is a member of Eta Kappa Nu and phi Kappa Phi.