An improvement-based MILP optimization approach to complex AWS scheduling

An improvement-based MILP optimization approach to complex AWS scheduling

Computers and Chemical Engineering 47 (2012) 217–226 Contents lists available at SciVerse ScienceDirect Computers and Chemical Engineering journal h...

2MB Sizes 2 Downloads 66 Views

Computers and Chemical Engineering 47 (2012) 217–226

Contents lists available at SciVerse ScienceDirect

Computers and Chemical Engineering journal homepage: www.elsevier.com/locate/compchemeng

An improvement-based MILP optimization approach to complex AWS scheduling Adrián M. Aguirre a , Carlos A. Méndez a,∗ , Gloria Gutierrez b , Cesar De Prada b a b

INTEC (UNL-CONICET), Güemes 3450, 3000 Santa Fe, Argentina Universidad de Valladolid, c/Real de Burgos s/n, 47011 Valladolid, Spain

a r t i c l e

i n f o

Article history: Received 3 April 2012 Received in revised form 26 June 2012 Accepted 27 June 2012 Available online 16 July 2012 Keywords: Hybrid decomposition approach MILP-based strategies Large-scale scheduling problems Semiconductor manufacturing system (SMS) Wafer fabrication Modeling and optimization

a b s t r a c t The automated wet-etch station (AWS) is one of the most critical stages of a modern semiconductor manufacturing system (SMS), which has to simultaneously deal with many complex constraints and limited resources. Due to its inherent complexity, industrial-sized automated wet-etch station scheduling problems are rarely solved through full rigorous mathematical formulations. Decomposition techniques based on heuristic, meta-heuristics and simulation-based methods have been traditionally reported in literature to provide feasible solutions with reasonable CPU times. This work introduces an improvement MILP-based decomposition strategy that combines the benefits of a rigorous continuous-time MILP (mixed integer linear programming) formulation with the flexibility of heuristic procedures. The schedule generated provides enhanced solutions over time to challenging real-world automated wet etch station scheduling problems with moderate computational cost. This methodology was able to provide more than a 7% of improvement in comparison with the best results reported in literature for the most complex problem instances analyzed. © 2012 Elsevier Ltd. All rights reserved.

1. Introduction The development of effective systematic solutions to realworld scheduling problems has greatly attracted the attention of researchers and practitioners in the last years. In this direction, flowshop processes represent a typical complex scheduling problem, in which a set of different jobs (i = 1, 2, . . ., N) has to be processed along a series of consecutive stages (S = 0, 1, 2, . . ., M + 1), by following a predefined production sequence p. In general, flowshop structures may involve a single production unit j (j = 1, 2, . . ., M) per stage (S = 1, 2, . . ., M), with finite production and storage capacity, such as baths, tanks, machines, chambers or similar ones. Also, initial and final storages are usually located at the beginning (S = 0) and at the end (S = M + 1) of the production line. In this type of production systems, automated material-handling devices, such as hoist, robots, automated guided vehicles (AGV’s) or rail guided vehicles (RGV’s), are generally used to move different product’ lots through the successive stages (see Gupta & Stafford, 2006). Central issues of this complex system rely on limited storage and transport capacities as well as stringent timing constraints. Intermediate storage between successive stages is generally not

∗ Corresponding author. E-mail address: [email protected] (C.A. Méndez). 0098-1354/$ – see front matter © 2012 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.compchemeng.2012.06.036

allowed and strict minimum and maximum processing times are usually enforced in every production recipe. In the same way, processing and transfer operations have cannot be extended more than a certain limit since extra holding time in units or vehicles produce severe damages to the product or turn the problem infeasible to be solved in practice. The main challenge of these problems is trying to find an efficient synchronization of process and transfer operations along the entire system while ensuring complex production constraints and stringent storage policies. General flowshop scheduling problems aims at providing the best sequence p that minimizes the total residence time of all jobs in the system, which is widely known as the makespan (MK) criterion. This work is focusing on a critical process in the semiconductor manufacturing industry, commonly known as automated wet-etch station (AWS). The automated wet-etch station is a complex system in which many process constraints and limited resources must be simultaneously considered. This station involves a series of successive stages of chemical and water baths and shared automated lot transfer devices, in which mixed intermediate storage (MIS) policies, such as zero-wait (ZW) and non-intermediate storage (NIS), must be strictly satisfied in every bath (Ku & Karimi, 1990). Thus, the efficient and coordinated operations of this station will reduce the total processing time required to complete all the jobs in the semiconductor production system, providing, at the same time, a better utilization of critical limited resources.

218

A.M. Aguirre et al. / Computers and Chemical Engineering 47 (2012) 217–226

Due to the nature of the set of binary decisions needed to achieve the optimal solution, flowshop sequencing problems are inherently NP-hard problems (Ku & Karimi, 1990). Consequently, industrial-scale flowshop scheduling problems, which generally involve thousands of variables and constraints, have been rarely to solve up to optimality in a reasonable computational time, i.e. ranging from few minutes to 1 h CPU time at most, using traditional solvers and methods like full-space approaches. As a result, the use of exact methods, such as mixed integer linear programming (MILP) approaches, has become prohibitive for these types of problems, and its applicability has been restricted to relatively small or medium-sized cases (see Méndez, Cerdá, Grossmann, Harjunkoski, & Fahl, 2006; Ruiz & Maroto, 2005). Over the past years, different contributions have been reported to achieve suitable solutions to challenging AWS scheduling problems with an acceptable computational effort. Most of these approaches were based on heuristics (Pinedo, 2002) and metaheuristic methodologies (Ruiz & Maroto, 2005), avoiding the utilization of mixed integer mathematical formulations in largesized cases. Geiger, Kempf, and Uzsoy (1997) were the first ones in developing a heuristic algorithm based o Tabu Search (TS), with the main goal of finding a near-optimal production schedule to the AWS. Subsequently, Bhushan and Karimi (2003) introduced a slot-based MILP mathematical model to solve short-term scheduling problems, minimizing the makespan in an AWS station. Later, Bhushan and Karimi (2004) evaluated the proper combination of different algorithms and meta-heuristics such as simulated annealing (SA) and Geiger’s Tabu Search procedures to identify the best strategy for optimizing operations in the AWS. Most recent approaches to address the resource-constrained flowshop scheduling problem of the AWS were developed using constraint programming (CP) formulation (Zeballos, Castro, & Méndez, 2011) and MILP continuous-time mathematical model (Aguirre, Méndez, & Castro, 2011a; Castro, Zeballos, & Méndez, 2012). The former contribution combines a CP model that handles the complex production restrictions imposed by AWS station with an efficient domain-search strategy to reduce the high combinatorial complexity of the model. The MILP-based model by Aguirre et al. (2011a), relies on a robust approach for the scheduling of AWS operations. This method provides a full-space MILP model and a sequential heuristic procedure to the optimal solution of job sequence, timing and detailed robot activities, aiming at minimizing the makespan criterion. Afterward, Castro et al. (2012) developed a novel hybrid mathematical model combining slot-based formulation with the general precedence representation used in Aguirre et al. (2011a), in order to provide better results with reduced CPU cost in moderate AWS scheduling problems. Nevertheless, large problems are still waiting to be solved in an efficient manner with a reasonable time. To reduce the computational burden, a simulation-based framework by Aguirre, Cafaro, Mendez, and Castro (2011b) and a hybrid optimization and simulation-based method by Castro, Aguirre, Zeballos, and Méndez (2011) has been recently developed. The major contribution of the discrete-event simulation approach by Aguirre et al. (2011b) relies on the possibility to represent the AWS system in a abstract and integrated manner, visualizing the dynamic behavior of their entities (jobs, units and robot) over time. This approach was very useful to provide good initial results of job timing and detailed program of transfers for industrial AWS cases with a negligible CPU effort. The effective combination of a discrete-event simulation tool with an MILP slot-based formulation was addressed by Castro et al. (2012) in order to propose a suitable hybrid simulation–optimization approach to handle large-sized AWS scheduling problems. Despite of this improvement, solutions reported by this decomposition technique can sequentially be enhanced by using optimization approaches.

In order to exploit the inherent benefits of heuristic techniques and the robustness of exact methods, an improvement-based MILP decomposition strategy is developed here to provide an efficient and near-optimal solution to complex industrial-scale flowshop scheduling problems with modest computational effort. To achieve this goal, the main advantages of a rigorous MILP continuous-time formulation are joined with the flexibility of heuristic procedures, such as decomposition-aggregation and improvement-based techniques, making it possible to generate and gradually improve a solution, in an iterative way. Additional information of these methods is presented in Castro, Harjunkoski, and Grossmann (2009); Méndez et al. (2006).

2. Problem statement The automated wet-etch operation is carried out in a very complex station in the wafer fabrication process of semiconductor manufacturing industries. It performs the etching of semiconductor wafer lots by using a sequence of immersion baths. The automated wet-etch station is composed by several types of successive immersion baths “j”, chemical (jodd ) and water baths (jeven ) arranged in an alternate way in a single production line. In chemical baths (jodd = 1, 3, 5, . . ., M − 1), wafers are etched during a predefined period of time to then been purged in the de-ionized water in rinse baths (jeven = 2, 4, 6, . . ., M). The exposure time on chemical baths must be fulfilled strictly, because wafers may be easily damaged by the overexposure to reagents. In water baths, only a minimum residence time is enforced. This kind of operational constraints are commonly known as zero-wait (ZW) and local storage (LS) policies (Ku & Karimi, 1990; Méndez et al., 2006). Thus, AWS provides a complex manufacturing environment in which mixed intermediate storage (MIS) policies must be ensured (Bhushan & Karimi, 2003). This station may have different lineal configurations of immersion baths. The structure of the common AWS is composed by an input buffer (j = 0) and an output buffer (j = M + 1) in both extreme points and a series of immersion baths are arranged between these points. These baths are typically structured in a row in which the first bath is chemical and the last one is a water bath (see Fig. 1). In addition, a single automated material-handling device, like a robot, is used as a shared resource for transferring wafer lots between consecutive baths (Aguirre et al., 2011a). The scheduling problem of this robot in the AWS has adopted increasing importance in real-life operations in recent years. Strict conditions must be enforced to provide a feasible activity program of the robot in the system: (a) robot should be used as a unary shared resource for transferring lots between baths; (b) each transfer task has a fixed transportation time and the robot cannot delay the delivery task more than this known time; (c) robot only can transfer one wafer lot at a time in order to guarantee the non-intermediate storage (NIS) policy followed in the system and; (d) robot collisions and deadlocks are undesirable conditions that have to be avoided in the system. The problem to be faced in this work corresponds to the scheduling of a set of wafer lots or jobs, from i = 1, 2, . . ., N, in M stages or baths, in a serial flowshop multiproduct batch process with strict storage policies (SPj = NIS, LS, ZW) in every stage and a single shared resource (Robot: r = 1) with finite capacity for the material movement. Next sections describe the development and application of the improvement-based MILP decomposition strategy applied to the AWS scheduling problem in industrial applications. In turn, the best job sequence and timing for the processing operations as well as the detailed pick-up and delivery activity program for the robot are determined with the main objective of minimizing the total time required to process all the wafer lots in the system (MK).

A.M. Aguirre et al. / Computers and Chemical Engineering 47 (2012) 217–226

219

Fig. 1. Automated wet-etch station (AWS) process scheme.

Ts(i,j) = Tf(i,j−1) + j

3. The MILP mathematical model In this section, a modified version of a previous continuous-time formulation developed by Aguirre et al. (2011a), which relies on the general precedence concept (Méndez and Cerdá, 2003a), is introduced. The model used here incorporates additional constraints that permit to decompose the whole problem into different independent sub-problems that can be solved in a sequential manner. Each sub-problem corresponds to a simplified scheduling problem, where a proper MILP formulation is developed for decision-making on timing (Eqs. (1)–(4)), job sequencing (Eqs. (5) and (6)) and transfer operations (Eqs. (7) and (8)). Specific binary variables (X(i,i ) and Y(i,j,i ,j ) ) for job’s sequencing and transfer sequencing decisions and continuous variables (Ts(i,j) , Tf(i,j) ) for the start time and the completion time of a job i in a bath j, are used in the model to achieve a correct synchronization of processing and transportation activities. Timing information for these activities are provided by parameters t(i,j) and j , which represent the processing time of job i in a bath j and the transfer time of every job defined between consecutive baths j − 1 and j. Also, big-M constraints are represented with a large parameter MT in Eqs. (5)–(8). In here, ins and sel parameters are proposed to determinate which jobs are already inserted and which are selected to be inserted or reinserted in the system, by adopting values 0–1. Table 1 shows the possible states of a job i. Note that, Eqs. (1)–(8) are only applied for already inserted jobs ∀i ∈ Iins , even sequenced ∀i ∈ Iseq and non-sequenced jobs ∀i ∈ Inon-seq , while non-inserted jobs ∀i ∈ Inon-ins are not scheduled in the system. Additional constraints, showed in Eqs. (9) and (10), are incorporated into the model in order to reduce the computational complexity of the problem by using prior information of the system. Thus, job’s sequencing and transfer’s sequencing decisions can be established beforehand providing a simpler MILP model in terms of binary variables. Finally, Eq. (11) is provided to estimate the completion time of all jobs in the system by MK makespan criterion, as the Objective Function of the problem. Big-M parameter MT is defined as three or four times bigger than the estimated makespan, in order to effectively apply Eqs. (5)–(8). Job’s and transfer’s timing constraints for the full-space AWS scheduling problem Tf(i,j) = Ts(i,j) + t(i,j)

∀i ∈ I , ∀j ∈ Jodd , SPj = ZW

(1)

Tf(i,j) ≥ Ts(i,j) + t(i,j)

∀i ∈ I ins , ∀j ∈ Jeven , SPj = LS

(2)

ins

Table 1 Possible states of job i in the system. States of job i

ins(i)

sel(i)

Already inserted (Iins ) Already sequenced (Iseq ) Non-inserted (Inon-ins ) Non-sequenced (Inon-seq )

1 1 0 1

– 0 – 1

∀i ∈ I ins , ∀j ∈ J : (j > 1), SPj = NIS

∀i ∈ I , j = 1 ins

Ts(i,j) ≥ j

(3) (4)

Job’s sequencing constraints



X(i,i )

1

if job i is processed before job i in the processing sequence

0

otherwise

Ts(i,j) ≥ Ts(i ,j+1) + j − MT (1 − X(i,i ) )

∀i, i ∈ I ins : (i > i ), ∀j ∈ J (5)

Ts(i ,j) ≥ Ts(i,j+1) + j − MT X(i,i )

∀i, i ∈ I ins : (i > i ), ∀j ∈ J (6)

Eqs. (5) and (6) are defined to cope with job sequencing decisions. If X(i,i ) = 1 Eq. (5) is activated while Eq. (6) is relaxed according to big-M parameter MT . Otherwise, if X(i,i ) = 0 then Eq. (5) will be redundant and Eq. (6) will become active. Transfer’s sequencing constraints

⎧   ⎨ 1 if transfer i , j is processed before transfer

X(i,j,i ,j )



i, j in the robot sequence

0

otherwise

Ts(i ,j ) ≤ Ts(i,j) − j + MT (1 − Y(i,j,i ,j ) ),

∀i, i ∈ I ins : (i > i ), ∀j, j ∈ J

(7)

Ts(i,j) ≤ Ts(i ,j ) − j + MT Y(i,j,i ,j )

∀i, i ∈ I ins : (i > i ), ∀j, j ∈ J

(8)

For transfer sequencing decisions Eqs. (7) and (8) are defined. In this case, Y(i,j,i ,j ) = 1 will activate Eq. (7) whereas Eq. (8) will become redundant. In the other hand, Y(i,j,i ,j ) = 0, will relax Eq. (7) and will turn Eq. (8) active. Additional sequencing constraint for partial predefined processing sequence p. X(i,i ) =

⎧ ⎨1

if [Position (i ) < Position (i)]

0

if [Position (i ) > Position (i)]

0−1

otherwise



∀i, i ∈ I ins : (i > i )

(9)

Eq. (9) is introduced to handle job’s sequencing decision X(i,i ) that can be predefined if the absolute position of already inserted jobs ∀i, i ∈ Iins (i > i ) in the schedule is known. For this, Position(i) parameter is proposed to determinate the location of job i in the processing sequence p. According to this, if jobs i, i are already sequenced ∀i, i ∈ Iseq (i = / i /sel(i) + sel (i ) = 0), then we could use the information of the Position parameter to fix their sequencing decision X(i,i ) in the system. Therefore, if at least one of these jobs i or i has not been scheduled in the system∀i, i ∈ Iins

220

A.M. Aguirre et al. / Computers and Chemical Engineering 47 (2012) 217–226

Fig. 2. Pre-sequenced job’s and transfer’s sequencing decisions.

(i > i /sel(i) + sel(i ) > 0) then variable X(i,i ) will be determined by the model by adopting values 0–1, depending on the sequencing and timing decisions stated in Eqs. (5) and (6). Additional transfer’s sequencing constraint for the partial reduction of the problem size. In the same way, Eq. (10) is proposed to reduce the transfer sequencing decisions Y(i,j,i ,j ) in the MILP model. By using the information of the production sequence p and the Position parameter we can pruned a large number of binary variables. Thus, if jobs i, i are already inserted in the system ∀i, i ∈ Iins , then Y(i,j,i ,j ) variables will be determined by the model in Eqs. (7) and (8) by adopting values 1–0, respectively. In consequence, the behavior of Y(i,j,i ,j ) variable, for any pair of different transfers (i, j) and (i , j ), can be previously defined, as shown in Eq. (10).

X(i,j,i ,j ) =

⎧ 1 ⎪ ⎨ ⎪ ⎩

improvement-based techniques, summarized in Méndez et al. (2006) and Castro et al. (2009), and dynamic heuristic procedures exposed in Méndez and Cerdá (2003b). Also, some concepts presented in Kopanos, Méndez, and Puigjaner (2010) are considered in this work. The proposed algorithm aims at finding a feasible solution of the original AWS scheduling problem in an iterative way. In this procedure, a heuristic-based strategy divides the whole problem into small sub-problems that must be iteratively solved. Thus, the whole problem solution is decomposed into two-steps. This twostep strategy was initially proposed by Bhushan and Karimi (2003) as RCURM (resource constrained unlimited robot model) approach. This procedure is based on the following steps: (i) solve the first

if [Position (i ) < Position (i)]ˆ[(j + (Position (i) − Position (i )) ≥ j ) ∨ (j ≤ j − 1)]

0

if [Position (i ) > Position (i)]ˆ[(j − (Position (i ) − Position (i)) ≤ j ) ∨ (j ≥ j + 1)]

0−1

otherwise

∀i, i ∈ I ins : (i > i ), ∀j, j ∈ J (10)

It is important to remark that if two jobs i , i are already sequenced, i , i ∈ Iseq (i > i ) in the system, all job’s sequencing and transfer’s sequencing decisions previously defined by the model must be fixed. A suitable example of pre-sequenced job’s and transfer’s decisions for inserted jobs i, i , i ∈ Iins (i > i > i ), when job i has not been sequenced in the system i ∈ Inon-seq , is shown below in Fig. 2. Fig. 2 illustrates the condition expressed in Eq. (10) for transfer (i, j). Also, it shows how we can eliminate 25 of 31 transfer’s and all job’s sequencing decisions by using the information of the Position parameter in Eqs. (9) and (10). 3.1. Objective function The principal aim of this problem is to find the minimum resident time of all inserted jobs ∀i ∈ Iins in the system. This criterion is defined by a continuous variable called makespan (MK), as it is expressed in the following equation. MK ≥ Ts(i,j)

∀i ∈ I ins : (i > i ), j = M + 1

(11)

4. An improvement MILP-based algorithm In this work we present an enhanced version of the hybrid MILP-based approach developed by Castro et al. (2011). The novel algorithm combines exact scheduling methods with heuristic reduction techniques, such as constructive and

model, called URM (unlimited robot model), for the original problem in order to determine the best possible schedule of jobs without considering robot restrictions and then (ii) solve the second model, which was named ORM (one robot model), by introducing robot restrictions, in a single robot, in the way to find the best feasible transfer scheduling solution for the previous job schedule. Suitable solutions of RCURM approach for several moderate-sized AWS scheduling problems by using a MILP-based model are reported in Aguirre et al. (2011a). The major novelty of this contribution relies on the optimization-based methods, such as constructive and improvement-based techniques, applied to both steps in order to find good quality results of the entire problem with minimum computational effort. Thus, in the first step, constructive and improvement-based techniques are applied sequentially in order to find the best permutation job sequence p of the job scheduling problem by using a relaxed MILP-based model, also called unlimited robot model (URM), which does not consider sequencing transfer decisions. Then, in the second step algorithm, jobs sequencing decisions X(i,i ) are fixed, while transfer sequencing decisions Y(i,j,i ,j ) are incorporated into the transfer schedule in order to find the detailed activity program for the robot, based on the previous predefined production sequence (see Fig. 3). For this, constructive and improvement-based techniques are applied iteratively by using a full-space MILP-based model, named as one robot model (ORM), which considers sequencing transfer operations in a single robot.

A.M. Aguirre et al. / Computers and Chemical Engineering 47 (2012) 217–226

Fig. 3. Overview of the heuristic algorithm.

4.1. First step: constructive and improvement-based method for job’s schedule: The constructive method for job’s schedule is a decompositionaggregation technique, in which an initial solution is generated in

221

an iterative way by inserting a fixed number of selected jobs (NSJt ) from a list of non-inserted jobs (Fig. 6). In this first step (t1 ), a feasible production schedule p is generated in an iterative form, inserting NSJ1 jobs in each iteration (iter1 ) by following a simple heuristic criterion. The selection of these jobs is provided by a selection procedure. In this, non-inserted jobs (∀i ∈ Inon-ins ) are selected from a job’s list, which is arranged in a lexicographic order (i1 , i2 , . . ., iN ). In each sub-cycle k, the following conditions are tested: if the lexicographic order of job i (ord(i)) is equal to k1 and iter1 ≥ k > iter1 NSJ1 then job i is selected to be inserted in the schedule in each iteration (iter1 ) of the algorithm by setting ins(i) = 1 and sel(i) = 1 and updating counter c (c = c + 1). This procedure ends when counter c reaches NSJ1 , ensuring that NSJ1 jobs were inserted (∀i ∈ Iins ) in this iteration. As an example let us suppose that NSJ1 is equal 5 and the number of jobs is N. So, in the first iteration iter1 will assume value 5 and selected jobs will be i1 –i2 –i3 –i4 –i5 while in the second iteration (iter1 = 6) and selected jobs will be i2 –i3 –i4 –i5 –i6 . Then, after the first iteration only job i1 will be sequenced in the system (i1 ∈ Iseq ), adopting sel(i1 ) = 1, while jobs i2 –i3 –i4 –i5 –i6 will be sequenced next in the following iteration by fixing ins(i) = 1 and sel(i) = 1. The other jobs, from i6 to iN , will be setting to ins(i) = 0 and they are not scheduled in this iteration. The procedure goes on in this way by inserting all the jobs until job iN will be sequenced in the last iteration (iter1 = N).

Fig. 4. Constructive and improvement algorithm for job’s schedule.

222

A.M. Aguirre et al. / Computers and Chemical Engineering 47 (2012) 217–226

Fig. 5. Constructive and improvement algorithm for job’s transfer schedule.

Fig. 6. Makespan and CPU time behavior for different NSJ/NRJ of the first step algorithm.

The insertion of the selected job is driven by the MK criterion, which takes into account the already inserted jobs (∀i ∈ Iins ). For this, a reduced MILP model (MILP1 ) is solved in this step by fixing the sequencing decisions X(i,i ) for all sequenced jobs ∀i, i ∈ Iseq (i > i /sel(i) + sel(i ) = 0) in the system (see Table 2). Job’s sequencing

decisions X(i,i ) for all released jobs ∀i, i ∈ Iins (i > i /sel(i) + sel(i ) > 0) are optimized by the model. After solving the reduced model, a Position(i) parameter is updated. This parameter indicates the location of job i in the production sequence p for all inserted jobs (∀i ∈ Iins ). In here, the URM model is solved by MILP1 which do not

Table 2 MILP-based models for every step of the solution strategy proposed. Mixed-integer lineal programming model

STEP

Restrictions

MILP1 MILP2

Construct and improve job’s schedule Construct and improve transfer’s schedule

Eqs. (1)–(6), (9) and (11) Eqs. (1)–(11)

A.M. Aguirre et al. / Computers and Chemical Engineering 47 (2012) 217–226

considers robot limitations and so, job’s transfers are not sequenced in this step. So, after the constructive phase, a feasible solution of the production schedule p of the system is provided. In the improvement phase of this first step, the feasible solution p previously obtained is progressively enhanced by selecting jobs to be taken out from the schedule, to be then reinserted in the schedule of the remaining sequenced jobs (∀i ∈ Iseq ) (see Fig. 4). For this, the information of sequence p (p1 , p2 , . . ., pN ), the number of released jobs NRJ1 per iteration (iter2 ) and the best initial solution of the URM model is given. In this algorithm, sequenced jobs (∀i ∈ Iseq ) are released from the schedule by following their increasing order in the p sequence determined by the Position parameter. Thus, the first NRJ1 jobs located in the p sequence (p1 , . . ., pNRJ ) will be selected to be taken out at first in the initial iteration (iter2 ) by setting sel(i) = 1. After that, NRJ1 released jobs (∀i ∈ Inon-seq ) will be reinserted in the schedule by solving a suitable MILP model (MILP1 ) in each iteration. In order to reduce the computational complexity of this problem, sequencing decisions X(i,i ) for already sequenced jobs ∀i, i ∈ Iseq (i > i /sel(i) + sel(i ) = 0) remain fixed while decision variables X(i,i ) for released jobs ∀i, i ∈ Iins (i > i /seq(i) + seq(i ) > 0) will be optimized in the MILP1 model, minimizing the MK. Next, the result reported by the MILP is compared with the Best solution found up to now by the algorithm. If MK < Best, the Position parameter of inserted jobs (∀i ∈ Iins ) is updated and a new p sequence is determined. Then, the Best solution adopts the MK of the new result and the number of iterations (iter2 ) returns to zero. According to this, the following iteration (iter2 = 1) will start choosing again the first NRJ1 jobs, from p1 to pNRJ , of the new p sequence. But, the new NRJ1 jobs from this iteration will not be the same than in the previous ones. On the other hand, if the MK does not improve the existing solution (Best), the Position parameter is not updated and the p sequence remains the same. Then, the number of iterations will be increased (iter2 = iter2 + 1) and the selection procedure will select the first NRJ1 jobs from p2 to pNRJ+1 of the existing p sequence. The principal advantages of this method is that it allows generating alternative p sequences in each iteration, by using different NSJ1 jobs to be inserted, and also that these sequences can be progressively enhanced by the algorithm by adopting NRJ1 jobs to be released per iteration.

4.2. Second step: constructive and improved-based method for the transfer’s schedule In the constructive phase of the second step (t2 ), transfer’s sequencing decisions Y(i,j,i ,j ) are increasingly considered in each iteration by solving the MILP model for the transfer’s schedule (see Table 2). This iterative method aims at finding a feasible activity program of the robot by sequencing transfers in a sequential way (see Fig. 5). The main limitation of this phase relies on the number of transfer’s sequencing decisions that have to be made in every iteration. For this, a fixed number of jobs and corresponding job’s transfers are selected to be scheduled by the user in each iteration. The NSJ2 jobs selected (sel(i) = 1) per iteration (iter3 ) are related with the first p1 to pNSJ job’s positions in the fixed p sequence determined in the first step. Thus, transfer’s decisions Y(i,j,i ,j ) for selected jobs ∀i, i ∈ Iins (i > i /sel(i) + sel(i ) > 0) will be optimized in the ORM model by the MILP2 , while the ones for the already sequenced jobs ∀i, i ∈ Iseq (i > i /sel(i) + sel(i ) = 0) remain without changes. After that, the location of each transfer in the robot’s schedule is updated by Transfer(i, j) parameter. Here it is worth to emphasize that, the number of transfer’s sequencing decisions is considerably increased with the NSJ2 adopted. Then, in every iteration ((M + 1)*NSJ2 ) transfers are

223

simultaneously scheduled in the system, which represents an important number of decision variables Y(i,j,i ,j ) . So, lower NSJ2 values could provide faster solutions than high NSJ2 values but with worse results. Another issue to remark is that, job’s sequencing decisions X(i,i ) determined in the first step are fixed, then the p sequence previously obtained remains without changes. Once all the jobs are reinserted, a feasible initial transfer’s schedule for the whole problem is provided. This solution (MK) represents the Best initial solution of the whole problem and will be enhanced by the improvement algorithm. The improvement-based algorithm for job’s transfers tries to find better solutions than the initial MKORM iteratively by rescheduling all transfers for NRJ2 released jobs. For this, NRJ2 jobs are selected from the fixed p sequence in each iteration (iter4 ) and then are rescheduled in the system considering all their transfers ((M + 1)*NRJ2 ) simultaneously. The selection procedure of this algorithm is quite similar to the one presented for job’s reschedule. In here, jobs are selected following the increasing order of p sequence determined by Position parameter. After the selection procedure, NRJ2 inserted jobs are released from the actual schedule and their transfers are rescheduled in the system with all the transfers for the already sequenced jobs. For this, a MILP model (MILP2 ) is solved by considering that all the decision variables X(i,i ) and all the sequencing variables Y(i,j,i ,j ) of the already sequenced jobs ∀i, i ∈ Iseq (i > i ) are fixed. Once the MILP model is solved, the MK reported is compared with the Best result found for this ORM problem. In the case that the new result MKORM enhances the existing solution, parameters Best and Transfer are updated, the iteration counter is set to zero and the new improved schedule is reported to the system. In here, Transfer(i, j) parameter represents the location of transfer (i, j) in the robot’s sequence. This iterative procedure finishes when no existing result could enhance the Best solution found. The principal contribution of this algorithm relies on the selection procedure. Assuming a good initial sequence p, then the constructive phase allows finding a feasible initial result by inserting consecutive jobs in simultaneous by following this p sequence. This methodology ensures that nearby transfers of inserted jobs can be inserted without infeasible conditions and also can exchange their places in the robot’s sequence providing a good-quality result, even with reduced the number of iterations. Also, in the improvement phase of the algorithm, enhanced solutions are found when multiple jobs and job’s transfers are rescheduled, but the computational burden may increase considerably with the number of inserted and reinserted jobs. A detailed analysis of the behavior of these two phases of the proposed algorithm is analyzed in next sections.

5. Application examples In this section, a set of different industrial examples is proposed to illustrate the behavior of the improvement-based solution strategy proposed above. These examples are derived from data provided by Bhushan and Karimi (2004), also appeared in Aguirre et al. (2011a) and Castro et al. (2011, 2012), regarding processing and transfer times. The problems tested are from different MxN configuration of the first M baths and N jobs in the AWS station. These settings determine the problem size, which is closely linked with the model structure. Thus, from the original problem are derived 7 examples, from E1 to E7, which are arranged in the following order (see Table 3), according to all decisions and restrictions involved. It is important to remark that, in every step of the proposed algorithm, only few decisions are taken into account in each iteration, which directly depends on the step followed, the number of selected or released jobs and the transfers considered. Then, in order to clearly illustrate the inherently complexity of problems

224

A.M. Aguirre et al. / Computers and Chemical Engineering 47 (2012) 217–226

Table 3 Problem structure and model statistics. Examples

Baths × jobs

Reduced URM MILP-based model

E

MxN

DV

SV

SE

MK

CPUs

8 × 18 8 × 20 8 × 22 8 × 25 12 × 15 12 × 20 12 × 25

153 190 231 300 105 190 300

307 341 375 426 376 501 626

3078 3780 4554 5850 3120 5460 8450

229.2a 250.7a 274.8a 318.5a 241.9a 290.8a 351.2a

3600b 3600b 3600b 3600b 3600b 3600b 3600b

E1 E2 E3 E4 E5 E6 E7

Full-space ORM MILP-based model DV 11,169 13,870 16,863 21,600 16,485 29,830 47,100

SV

SE

307 341 375 426 376 501 626

35,880 31,140 37,818 49,050 35,880 64,740 102,050

MK

CPUs

260.1a 279.5a 307.1a 348.7a NFSa NFSa NFSa

3600b 3600b 3600b 3600b 3600b 3600b 3600b

E, application example; DV, discrete variables; SV, single variables; SE, single equations; MK, makespan; CPUs, computational time (s); NFS, no feasible solution found. a Results obtained by using GAMS 23.5 with Gurobi 6.0 in an Intel PC Core 2 Quad parallel processing in 4 threads. b Results obtained by using Termination criterion imposed in 3600 s of CPU time.

addressed, detailed information of problem structure and model statistics for the full-space MILP-based model developed by Aguirre et al. (2011a) is shown below. Here it is worth to emphasize that all problems were solved within an enforced time limit of an hour by using a full-space mathematical model. The global optimality of all these instances was not assured by this method. Also, it is important to remark that, problem instances comprising several thousands of discrete variables and equations can rarely be solved to global optimality in a time limit of an hour. In addition, it can be noted that even feasible solutions cannot be reached for some problem instances by using the full-space method of Aguirre et al. (2011a).

step algorithm, in order to enhance the trade-off between CPU time and the quality of the solutions found. The behavior of the second step algorithm is quite different to the one presented in the first step. Fig. 7 shows the makespan solution of the entire problem (MKORM ) and the computational time spent (CPUs) for many possible NSJ2 /NRJ2 combinations. The results demonstrate the benefits of using increasing values of NSJ2 to enhance the MK. Despite of this, the CPU time required to achieve improved solutions, by using larger values of NRJ2 , is too high in comparison with CPU cost of using higher NSJ2 values. Thus, an important reduction of the MK could be seen using NSJ2 from 1 to 4, with a slightly increment in the CPU time. This occur when more number of transfers, associated with the number of jobs inserted, will be exchanged in the schedule and so, improved results will be reached with less number of iterations. But, with larger NRJ2 , the CPU time of the improved solution increases considerably, providing better results with an excessive computational effort (3600 s). In here, the CPUs of NSJ2 = 1, 2, is much higher than using NSJ2 = 3, 4, 5, for increasing values of NRJ2 . This happens because the initial solution for NSJ2 = 1, 2 is quite poor and the number of iterations required to enhance this solution is very high in comparison with the use of NSJ2 = 3, 4, 5. Then, the use of NSJ2 = 3, 4 will provide better results with a shortest CPU time. So, in order to overcome these limitations, the use of middle numbers of NSJ2 /NRJ2 is proposed. Thus, NSJ2 = 4 and NRJ2 = 3 or 4, seems to be an appropriate combinations for this problem, providing a good quality result of MKORM = 380.2 units with an acceptable computational cost (CPUs = 1492 s). Then, following this criterion, all the examples will be solved using NSJ1 = 1 and NRJ1 = 1 for the first step and NSJ2 = 4 and NRJ2 = 3 or 4 in the second step. The computational analysis of the results reached by the proposed algorithm in each step is summarized in Table 4. Table 4 shows the behavior of the constructive and improvement-based techniques of the proposed algorithm. Here we could observe how the solution is generated and then is enhanced, providing a little improvement (%ip) between the

6. Computational analysis In this section, the behavior of the novel solution strategy is analyzed by testing different combinations of NSJ/NRJ for the first and the second step of the proposed algorithm (see Figs. 6 and 7). The results reported are based on the computational performance for the most complex problem, i.e. the MxN = 12 × 25. This example (E7) represents the largest case analyzed, providing a good illustration of the algorithm’s behavior. Since all examples are derived from the information of example E7, we can assume that similar features will emerge in all the other cases. Therefore, we propose studying the relationships of NSJ/NRJ in E7. As shown below, Fig. 6 depicts the computational behavior of the first step algorithm for different NSJ1 /NRJ1 . As it can be seen, higher values of NSJ1 could provide better solutions of MKURM with less number of iterations but with an important decrease in the computational performance. Despite of this, no big differences in the CPU time could be seen using NSJ1 = 1, 2, 3. In the same way, improved results of MKURM have appeared using NRJ1 = 1 in all cases. However, larger values of NRJ1 do not generate an important enhancement due to the increasing number of binary decisions that have to be in each improved iteration. According to this, the combinations of NSJ1 /NRJ1 = 1/1 appear as the most appropriate values for this first Table 4 Analysis of the improvement-based algorithm for real industrial problems. E

E1 E2 E3 E4 E5 E6 E7

Step 1: improvement method (NRJ = 1)

Step 1: constructive method (NSJ = 1)

MK

CPUs

iter

MK (%ip)

233.9 253.2 279.8 316.7 241.9 290.9 353.1

2 3 4 6 2 6 9

18 20 22 25 15 20 25

229.5 (1.9) 248.4 (1.9) 276.1 (1.3) 311.2 (1.7) 241.8 (0.1) 288.5 (0.8) 347.5 (1.6)

CPUs 18 26 35 159 7 33 73

Step 2: constructive method (NSJ = 4)

iter 71 84 91 266 31 66 99

Step 2: improvement method (NRJ = 3) and (NRJ = 4)

MK

CPUs

iter

MK (%ip)

CPUs

iter

MK (%ip)

CPUs

iter

243.8 264.7 295.3 329.6 255.5 316.3 391.6

12 16 20 25 157 268 325

15 17 19 22 12 17 22

243.0 (0.3) 264.7 (0.0) 294.4 (0.3) 328.4 (0.4) 254.3 (0.5) 311.6 (1.5) 381.6 (2.5)

40 17 123 92 133 505 685

60 22 131 85 99 210 255

243.0 (0.3) 264.7 (0.0) 294.4 (0.3) 328.2 (0.4) 253.7 (0.7) 308.9 (2.3) 380.2 (2.9)

23 21 100 100 197 920 1085

32 24 94 84 99 237 269

MK, makespan; CPUs, computational time in seconds; iter, number of iterations to reach the best result. Computational results using: GAMS 23.5 with Gurobi 6.0 in an Intel PC Core 2 Quad parallel processing in 4 threads. Termination criterion, 300 s/iteration and %ip, percent of improvement.

A.M. Aguirre et al. / Computers and Chemical Engineering 47 (2012) 217–226

225

Fig. 7. Makespan and CPU time behavior for different NSJ/NRJ of the second step algorithm.

Table 5 Comparison of different models statistics in real-life problem instances. E

E1 E2 E3 E4 E5 E6 E7

ORM-MILP Aguirre et al. (2011a)

CP-MILP Zeballos et al. (2011)

RCURM-MILP Aguirre et al. (2011a)

NSA-MILP Castro et al. (2011) (NOS = 2) and (NOS = 3)

MK

CPUs

MK

CPUs

MK

CPUs

MK

CPUs

MK

CPUs

MK

CPUs

MK

CPUs

260.1a 279.5a 307.1a 348.7a NFSa NFSa NFSa

3600d 3600d 3600d 3600d 3600d 3600d 3600d

246.9b 270.5b 303.6b 347.7b 273.2b 353.4b 443.4b

3600d 3600d 3600d 3600d 3600d 3600d 3600d

240.4a 262.1a 289.9a 331.5a NFSa NFSa NFSa

45.4 22.9 93.0 92.5 3600d 3600d 3600d

241.7c 276.4c 296.6c 337.1c 268.9c 336.5c 428.2c

119 151 164 206 348 823 1286

243.5c 266.8c 291.6c 331.4c 260.2c 330.3c 410.7c

177 232 269 323 2275 6403 7115

243.0a 264.7a 294.4a 328.4a 254.3a 311.6a 381.6a

72 62 182 282 300 813 1092d

243.0a 264.7a 294.4a 328.2a 253.7a 308.9a 380.2a

55 66 161 290 363 1465 1492

IA-MILP (NRJ2 = 3) and (NRJ2 = 4)

MK, makespan; CPUs, computational time in seconds; NFS, no feasible solution found. a Results obtained by using GAMS 23.5 with Gurobi 6.0 in an Intel PC Core 2 Quad parallel processing in 4 threads. b Results obtained by using ILOG with CPLEX 9.1 in an AMD Athlon 64 X2 Dual Core 2.2 GHz processor with 1 GB of RAM. c Results obtained by using GAMS 23.5 with CPLEX 12.2 in an Intel Core 2 Duo parallel processing in 2 threads. d Results obtained by using Termination criterion (3600 s).

initial and the Best solution found at each step. Then, the CPU time and the number of iterations (iter) in each constructive and improvement phase of the algorithm are also reported in this table.

7. Result and comparisons Table 5 describes the principal results obtained by different solution approaches for many real-life scheduling problems presented above. The comparison comprises a full-space mathematical formulation (MILP) of Aguirre et al. (2011a) for the entire problem ORM and for the two-step MILP-based RCURM approach, the ORM model by using the Constraint Programming procedure (CP) from Zeballos et al. (2011), the hybrid simulation–optimization strategy of Castro et al. (2011) improved by a neighborhood search algorithm using alternatives number of lots rescheduled per iteration, represented by NOS parameter, and our improvement-based algorithm by testing NRJ2 = 3 and NRJ2 = 4. The solutions reported in Table 5 show evidence that our proposed approach provides better results than full-space ORM (MILP/CP) models, RCURM-MILP procedure and the NSA-MILP algorithm with short CPU time. For industrial-sized cases (E5–E7), the exact methods turned out to be unmanageable due to the high number of binary decisions. So, for this kind of problems, both heuristic-based approaches and hybrid approaches are needed. In those cases, our solution approach (IA), reports good initial results, even better than the best results of another methods with low computational cost (see Table 4 column 4). Then, these solutions were improved, providing enhanced results with modest CPU effort (see Tables 4 and 5). In the last example (E7) analyzed, the solution of the heuristic approach developed by Bhushan and Karimi (2004), MK = 478.6 units, has been improved by the CP approach (Zeballos et al., 2011) in 7.4%, and also by the NSA algorithm (Castro et al., 2011), using NOS = 3, in 14%. The improvement-based solution

strategy proposed in this work can even improve the CP solution of 443.4 units and the NSA result of 410.7 units, obtaining an important reduction in the MK (>7%) with an acceptable computational effort (1500 s). As a conclusion, the efficiency of our method is comparable with the best approaches existing in literature, achieving better results for large-sized problems with a reasonable computational cost.

8. Conclusions A novel improvement strategy based on a MILP continuous-time formulation has been presented to solve large-scale scheduling problems arising in AWS in the semiconductor industry. In contrast to typical scheduling solution techniques, this strategy lies on an exact method to sequentially generate and improve a detailed schedule of production activities and transfer operations, ensuring the stringent intermediate storage policies of the system and transferring tasks on a single robot. Furthermore, it has been illustrated that the proposed model can effectively solve the whole problem by using the proposed MILP-based decomposition technique, in which the entire problem is divided into two sub-problems and the results of the first one are used to solve the second one in a sequential manner. In this case, the schedule of production activities is first generated to then incorporate the detailed schedule of transfer operations, fixing the previously defined production sequence. Also, it has been clearly showed that each sub-problem can be solved with a twostep decomposition strategy, where the solution is generated, and then gradually improved, in an iterative way, by using a simplified MILP-based algorithm in each step. The main contribution of this work is to provide a robust and, at the same time, very flexible strategy for the solution of largescale problems in a sequential way, by using a proper combination

226

A.M. Aguirre et al. / Computers and Chemical Engineering 47 (2012) 217–226

of heuristic procedures and exact mathematical formulations. This methodology is able to face complex operative decisions on multiproduct multi-stage industrial processes with shared resources and complex production constraints. Acknowledgments Financial support received from AECID under Grant PCIA1/044876/11 and from UNL under Grant PI-66-337 is fully appreciated. References Aguirre, A. M., Méndez, C. A., & Castro, P. M. (2011). A Novel optimization method to automated wet-etch station scheduling in semiconductor manufacturing systems. Computer and Chemical Engineering, 35(12), 2960–2972. Aguirre, A., Cafaro, V., Mendez, C., & Castro, P. (2011). A simulation-based framework for industrial automated wet-etch station scheduling problem in the semiconductor industry. In A. Bruzzone, M. A. Piera, F. Longo, & P. Elfrey (Eds.), Proceedings of the 23rd European modeling and simulation symposium (EMSS 2011) (pp. 384–393). Bhushan, S., & Karimi, I. A. (2003). An MILP approach to automated wet-etch station scheduling. Industrial and Engineering Chemistry Research, 42(7), 1391–1399. Bhushan, S., & Karimi, I. A. (2004). Heuristic algorithms for scheduling an automated wet-etch station. Computers and Chemical Engineering, 28(3), 363–379. Castro, P. M., Harjunkoski, I., & Grossmann, I. E. (2009). Optimal short-term scheduling of large-scale multistage batch plants. Industrial and Engineering Chemistry Research, 48, 11002–11016.

Castro, P. M., Aguirre, A. M., Zeballos, L. J., & Méndez, C. A. (2011). Hybrid mathematical programming discrete-event simulation approach for large-scale scheduling problems. Industrial and Engineering Chemistry Research, 50, 10665–10680. Castro, P. M., Zeballos, L. J., & Méndez, C. A. (2012). Hybrid time slots sequencing model for a class of scheduling problems. AIChE Journal, 58(3), 789–800. Geiger, C. D., Kempf, K. G., & Uzsoy, R. (1997). A tabu search approach to scheduling an automated wet etch station. Journal of Manufacturing Systems, 16(2), 102–116. Gupta, J. N. E., & Stafford. (2006). Flowshop scheduling research after five decades. European Journal of Operational Research, 169(3), 699–711. Kopanos, G. M., Méndez, C. A., & Puigjaner, L. (2010). MIP-based decomposition strategies for large-scale scheduling problems in multiproduct multistage batch plants: A benchmark scheduling problem of the pharmaceutical industry. European Journal of Operational Research, 207, 644–655. Ku, H., & Karimi, I. A. (1990). Completion time algorithm for serial multiproduct batch processes with shared storage. Computers and Chemical Engineering, 14, 49–69. Méndez, C. A., & Cerdá, J. (2003a). An MILP continuous-time framework for shortterm scheduling of multipurpose batch processes under different operation strategies. Optimization and Engineering, 4, 7–22. Méndez, C. A., & Cerdá, J. (2003b). Dynamic scheduling in multiproduct batch plants. Computers and Chemical Engineering, 27, 1247–1259. Méndez, C. A., Cerdá, J., Grossmann, I. E., Harjunkoski, I., & Fahl, M. (2006). Stateof-the-art review of optimization methods for short-term scheduling of batch processes. Computers and Chemical Engineering, 30, 913–946. Pinedo, M. (2002). Scheduling: Theory, algorithms, and systems (Second ed.). Prentice Hall. Ruiz, R., & Maroto, C. A. (2005). A comprehensive review and evaluation of permutation flowshop heuristics. European Journal of Operational Research, 165, 479–494. Zeballos, L. J., Castro, P. M., & Méndez, C. A. (2011). An integrated constraint programming scheduling approach for automated wet-etch stations in semiconductor manufacturing. Industrial and Engineering Chemistry Research, 50, 1705–1715.