Two-stage scheduling on batch and single machines with limited waiting time constraint

Zhongshun SHI , Zewen HUANG , Leyuan SHI

Front. Eng ›› 2017, Vol. 4 ›› Issue (3) : 368 -374.

PDF (113KB)
Front. Eng ›› 2017, Vol. 4 ›› Issue (3) : 368 -374. DOI: 10.15302/J-FEM-2017034
RESEARCH ARTICLE
RESEARCH ARTICLE

Two-stage scheduling on batch and single machines with limited waiting time constraint

Author information +
History +
PDF (113KB)

Abstract

This study addresses the problem of two-stage scheduling on batch and single machines with limited waiting time constraint; thus, the makespan is minimized. A mixed-integer linear programming model is proposed for this problem. Three tight lower bounds and a heuristic algorithm are developed. The worst-case performance of the proposed algorithm is discussed. A hybrid differential evolution algorithm is also developed to improve the solution quantity. Numerical results show that the hybrid algorithm is capable of obtaining high-quality solutions and exhibits a competitive performance

Keywords

batch machine / flow shop / makespan / limited waiting time

Cite this article

Download citation ▾
Zhongshun SHI, Zewen HUANG, Leyuan SHI. Two-stage scheduling on batch and single machines with limited waiting time constraint. Front. Eng, 2017, 4(3): 368-374 DOI:10.15302/J-FEM-2017034

登录浏览全文

4963

注册一个新账户 忘记密码

Introduction

This study focuses on a hybrid two-stage flow shop scheduling problem. In the first stage, all of the jobs must be processed on a batch machine. The batch machine can simultaneously process several jobs up to its capacity. In the second stage, a single machine handles these jobs individually. In the two stages, the waiting time that elapses between the completion time of the first stage and the start time of the second stage is limited.

This problem is prompted by the heat treatment process in a real rocket assembly plant. The sheet metals must be heated in an oven to eliminate stress-corrosion to meet the requirements of rocket-driven spacecraft. These sheet metals are moved to a single machine for further trimming after heat treatment. The sheet metals must be processed within 2 h; otherwise, the trimming operation cannot be conducted because the sheet metals become hard, thereby leading to waste of materials. The heat treatment operation is a bottleneck process. On one hand, the heat treatment process is time-consuming. On the other hand, forming batches and the sequence that should be followed mainly depend on the manual experience. The two factors cause unbalanced production and low efficiency.

Batch machines can find their widespread applications in various industrial systems, such as heat treatment ovens in the steel industry, burn-in operation in the semiconductor final test, and oxidation and diffusion in wafer fabrication. The two-stage scheduling problem on batch and single machines has attracted considerable interest. Ahmadi et al. (1992) first studied the problem and proposed a full batch–longest processing time (LPT) rule in order to minimize the makespan and a full batch dealing–shortest processing time heuristic to minimize the total completion time. Consequently, Hoogeveen and Velde (1998) considered the objective of minimizing total completion time, and proposed a Lagrangian lower bound whose time complexity is O(nlogn) based on the concept of positional completion time. Gong et al. (2010) considered the two-stage scheduling problem to minimize the sum of the makespan and total blocking time. The batch remains in the batch machine if the single machine was busy after completing one batch. Several approximation algorithms were proposed. Zhang et al. (2017) analyzed the two-stage batch scheduling problem with incompatible job families and a limited buffer. Approximation and hybrid differential evolution algorithms were proposed.

All of the reviewed research ignored the limited waiting time constraint. Only a few studies addressed the problems related to the two-stage scheduling with the batch machine and limited waiting time constraint. Su (2003) considered the nonidentical limited waiting time constraint for the two-stage scheduling problem, and proposed a mixed-integer linear model and a heuristic algorithm to minimize the makespan. However, the number of jobs in the computational experiments is minimal. The lower bound proposed by Su (2003) is calculated by relaxing the limited waiting time constraint. In the current study, we investigate the two-stage scheduling problem with identical limited waiting time. The problem size is extended in the experiments, and we derive three fast-computing lower bounds. Chung et al. (2016) examined the two-stage scheduling problem with limited waiting time constraint and considered the release time and nonidentical job sizes. However, in the study of Huang et al. (2017), the mathematical programming model was revised and several properties of this kind of problem were identified.

In the current study, a mixed-integer linear programming model is proposed to describe the problem. Three lower bounds and a heuristic algorithm, together with the worst-case analysis, are proposed. The hybrid differential evolution algorithm (HDE) algorithm integrating the solution of the heuristic algorithm is developed to improve the solution quantity. The numerical experiments are conducted to test the performance of the hybrid algorithm.

The remainder of this paper is organized as follows: Section 2 presents the problem definition and mathematical formulation. Section 3 discusses the development of three lower bounds for this problem and presents a heuristic algorithm and the worst-case analysis. Section 4 describes the proposed HDE algorithm. Section 5 presents the numerical experiments. Section 6 concludes this paper.

Problem description and formulation

We first provide a formal description of the problem. n jobs will be processed on one batch machine and one single machine. In the first stage, these jobs are divided into several batches to be processed on the batch machine. In the second stage, the jobs are processed individually in an arbitrary sequence on the single machine. All of the jobs are available at the beginning of the time horizon and have identical size. Each batch machine can handle several jobs simultaneously up to its capacity b. The waiting time, the time that elapses between the completion time of the first stage and the start time of the second stage, is limited by w for each job. The processing time of each batch is t, which is independent of the jobs. The processing time of job i on the single machine is pi, i = 1,…,n. Without loss of generality, we sort the jobs in nonincreasing order of pi, where p1p2≥…≥pn. Preemption is restricted on the batch and single machines. The objective is to determine the batch forms, batch sequence, and job sequence to minimize the makespan.

Before formulating the problem, we introduce a property in Lemma 1, which was proven by Su (2003).

Lemma 1. (Su, 2003) An optimal schedule exists, in which the jobs in each batch are consecutively sequenced at the second stage.

According to Lemma 1, each batch can be regarded as a job given the batch forms. For convenience, the notations and variables are summarized as follows.

Notations

n: the number of jobs

b: the batch capacity

t: the processing time of batches on the batch machine

w: the limited waiting time

pi: the processing time on a single machine for job i

Variables

xij: xij = 1 if job i is assigned to batch j, otherwise, xij = 0, i = 1,…,n, j = 1,…,n

yij: yij = 1 if job i is in batch j, and pi is the maximum processing time of batch j on the single machine; otherwise, yij = 0

sj: starting time of batch j on the batch machine, j = 1,…,n

cj: completion time of batch j on the single machine, j = 1,…,n

Cmax: the makespan

On the basis of Lemma 1 and the presented variables, the problem can be formulated as the following mixed-integer linear programming model:

min Cmax

s.t.j=1nxij=1,i=1,,n,

i=1nxijb,j=1,,n,

s1=0,

sjs(j1)+tx(ij1), i=1,, n, j=2,, n,

cjsj+txij+k=1nxkjpk,i=1,, n, j=1,, n,

cjcj1+i=1nxijpi,j=2,, n,

yijxij,i=1,,n,j=1,,n,

yijxijk=0i1xkj, i=1,, n, j=1,, n,

i=1nyij1, j=1,, n,

cji=1nyijpisjtw, j=1,, n,

Cmaxcj j=1,, n,

xij{0,1}, i=1,, n, j=1,, n,

yij{0,1}, i=1,, n, j=1,, n.

The objective function (1) is used to minimize the makespan. Constraint (2) ensures that one job can be assigned to only one batch. Constraint (3) guarantees that the number of jobs assigned to one batch cannot exceed the batch capacity. Constraint (4) indicates that the first batch can be started at time 0. Constraint (5) ensures that the start time of one batch should be no smaller than the standard completion time of the previous batch. Constraint (6) ensures that the completion time of one batch should be larger than or equal to the sum of the start time of the current batch, processing time on the batch machine, and total processing time on the single machine. Constraint (7) indicates that the completion time of one batch should be larger than or equal to the sum of the completion time of the previous batch and the total processing time on the single machine. Constraints (8)–(10) define the maximum processing time of jobs in one batch on the single machine. Constraint (8) ensures that yij = 0 if job i is not in batch j. Constraint (9) ensures that yij = 1 whenxijk=0i1xkj=1, where x0j = 0. Constraint (10) guarantees that one of yij for each batch j is equal to 1 for i = 1,…, n at most. Constraint (11) ensures that the waiting time of the jobs in one batch must be less than or equal to the limited waiting time w. Constraint (12) defines the makespan. Constraints (13) and (14) are the range of the variables.

The problem is NP-hard because the special case with b = 1 has been proven to be NP-hard (Yang and Chern, 1995). In this study, we focus on developing an efficient heuristic algorithm. The lower bounds and worst-case analysis are also provided.

Heuristic algorithm and lower bounds

The objective is to minimize the makespan. Each idle time of the single machine increases the makespan. The single machine demonstrates an idle time when the jobs of one batch are completed on the single machine before the subsequent batch is finished on the batch machine. Thus, we should balance the processing time on the batch and single machines by considering the batch capacity and limited waiting time constraints to avoid idle time. The proposed algorithm, denoted as balanced batch and single processing (BBSP), is described as follows:

BBSP

Step 1. Sort jobs in the nonincreasing order of pi to obtain a job list for i= 1, 2, …, n.

Step 2. Assign the first job in the current list to the last position of batch j = 1. Remove this job from the list.

Step 3. Select the last job in the current list as the candidate for batch j.

• If the following conditions are met simultaneously, then assign this candidate job to batch j, remove this job from the list, and repeat Step 3.

– The total number of jobs in batch j + 1 (the candidate job) is less than or equal to b.

– The sum of the processing time on the single machine of jobs, excluding the job in the last position in batch j and the processing time of the candidate job, is less than or equal to w.

– The sum of the processing time on the single machine of jobs in batch j is less than t.

• Else, j = j + 1 and repeat Step 2.

Step 4. If all of the jobs are assigned to batches, then proceed to Step 5.

Step 5. Calculate the sum of the processing time of jobs on the single machine as Pj for each batch j. Then, the batches are processed in the nonincreasing order of Pj, j = 1, 2, …, n.

Step 6. The jobs in one batch are processed consecutively on the single machine and start at the larger value between the completion time of the previous batch on the single machine and the completion time of this batch on the batch machine considering the limited waiting time constraint.

Step 7. Record the schedule p1 and calculate the makespan Obj(p1).

Step 8. Adjust Step 3 as “Select the first job in the current list as the candidate for batch j.” Repeat Steps 2–6 to obtain another schedule p2. Calculate the makespan Obj(p2)..

Step 9. Identify the index: opt= agrminuObj(pu), u = 1,2. Return the schedule popt.

Three lower bounds are derived to test the performance of the BBSP algorithm. On one hand, the makespan includes the processing time of at least the first batch on the batch machine and the sum of the processing time of all jobs on the single machine. Thus, we can obtain the lower bound LB1=t+i=1npi, directly. On the other hand, the makespan is no larger than the total batch processing time and the sum of the processing time of jobs that are in the last batch. The number of batches is no less thann/b. Thus, we can derive another lower bound, LB2=n/bt+pn.

If the limited waiting time constraint is relaxed, then the relaxed problem can be solved optimally by the full batch–LPT policy (Ahmadi et al., 1992). This rule works as follows: the jobs are sorted in the nonincreasing order of pi, i = 1,2,…,n and formed full batches continuously as much as possible. Then, the batch with the first b LPT on the single machine is processed first on the batch machine. The makespan of the relaxed problem achieved by the full batch–LPT policy is a lower bound of the investigated problem, which is denoted as LB3.

These three lower bounds are used to test the efficiency of the proposed algorithm. In the numerical experiments, the maximum value of the three lower bounds, LB = max{LB1,LB2,LB3}, is used as the final test measurement.

Then, we present an upper bound of the proposed algorithm to conduct the worst-case analysis in Lemma 2.

Lemma 2. We let Z represent the objective value achieved by the BBSP algorithm. Then, we derive:

Znt+i=1npi.

Proof. If we let each batch consist of only one job and schedule it using the LPT first rule, then we can obtain another feasible schedule p3 and denote the related makespan as Obj(p3). The job sequence on the single machine of schedule p3 is the same as the schedule p2 of the proposed algorithm. However, given that the completion time on the batch machine for each job in p3 becomes less than or equal to that of p2, we derive ZObj(p2)≤Obj(p3).

For Obj(p3), we assume that p1≥⋯≥pktp(k + 1)≥⋯≥pn, where 0≤kn. For 1<in, k≥2, we increase the processing time of each batch to the same as the processing time on the single machine and we derive:

Obj(π3)t+i=1k1pi+i=k+1nt+pnnt+i=1npi.

When k = 0 or k = 1, Obj(π3)nt+i=1npi. This equation completes the proof.

On the basis of the lower and upper bounds, we formulate Theorem 1.

Theorem 1. The worst-case ratio of the BBSP algorithm is bounded by b + 1, where b is the batch capacity.

Proof. We let Zopt* denote the optimal objective value and Z represent the objective value achieved by the BBSP algorithm. Then, we derive

ZZopt*1+UBLB1LB21+(n1)tnbt1+ntn/bt=1+b.

This equation completes the proof.

The BBSP algorithm can obtain the optimal solution for the problem when the processing time of the batches on the batch machine is less than or equal to the smallest processing time of jobs on the single machine.

Lemma 3. When pn>t, the BBSP algorithm provides an optimal schedule for the problem.

Proof. When pn>t, the upper bound achieved by assigning each batch with one job can be calculated ast+i=1npi, which is equal to the lower bound LB1, indicating that the BBSP algorithm provides an optimal schedule for the problem. □

A HDE-based method

The HDE algorithm integrating the solution of the BBSP algorithm is proposed to further improve the solution quantity. Differential evolution (DE) was proposed by Storn and Price (1997) and is widely applied to various optimization problems (Fu et al., 2012; Wang et al., 2013; Shao and Pi, 2015; Zhang et al., 2017). Several notations and operators used in DE are briefly presented in this section. Fu et al. (2012) may be reviewed for the details.

Notations

TimeLimit: the maximum running time;

MaxSame: the maximum number of successive generations with the same objective value;

PS: the population size;

• best(g): the best objective value at generation g;

Xi(g):the ith individual of the D-dimensional search space at generation g;

Xi(g) = [si,1(g),si,2(g),…,si,D(g)];

Vi(g+ 1): a mutant individual for each target individual Xi(g);

Ui(g + 1): a trial individual for each target individual Xi(g) and the corresponding mutant individual Vi(g+ 1);

l∈[0,1],F∈[0,2],CR∈[0,1]: three control variables;

• rand(j): the jth random number, which is uniformly distributed from [0,1];

• randn(i): a randomly selected index from the set of {1,2,…,D};

f(■): the objective value.

Operators

Mutation operator

Vi(g+1)= Xa(g)+ l*(best(g)–Xa(g)+F*(Xb(g)–Xg(g)).

Vi(g+1)=Xα(g)+λ*(best(g)Xα(g)+F*(Xβ(g)Xγ(g)).

Crossover operator

ui,j(g+1)={ui,j(g+1)if(rand(j)CR)orj=randn(i)xi,j(g+1)otherwise.

Selection operator

Xi(g+1)={Ui(g+1)iff(Ui(g+1))<f(Xi(g))xi(g)otherwise.

The code value in each job is a real number from [0, 1]. Then, the jobs are sequenced in nonincreasing order of the code values. The batches are formed greedily given a job sequence. From the first job, jobs are continuously assigned to each batch as much as possible considering the batch capacity and limited waiting time constraints. Then, the batches are processed in the nonincreasing order of the sum of the processing time of jobs in each batch. The procedures of the HDE algorithm are described as follows:

HDE

Step 1. Initialization

• Set g = 0;

• Generate PS–1 individuals randomly and integrate the solution of the BBSP algorithm as one individual;

• Calculate the objective value of each individual;

• Calculate best(g).

Step 2. Evolution

• For each individual,

– Use mutation operator (15) to obtain a mutant individual;

– Use crossover operator (16) to obtain a trial individual;

– Calculate the objective value of this individual;

– Use selection operator (17) to obtain the individual of the next generation.

• End for

• Set g = g + 1 and update best(g) and the best solution.

Step 3. Termination

• If the TimeLimit or MaxSame is reached, then proceed to Step 4;

• Else, repeat Step 2.

Step 4. Return the solution with the best objective value.

The worst-case analysis in Theorem 1 is also applicable to the HDE algorithm because the HDE algorithm integrates the solutions of the BBSP algorithm.

Numerical experiments

In this section, the computational experiments are conducted to test the performances of the proposed formulation and algorithm. All the tests are run on a 64bit Windows 10 platform with Intel Core 3.2 GHz CPU and 8.0 GB RAM. The mathematical formulation is solved using CPLEX 12.6 under default configuration, with a time limit of 3600 s. The heuristic algorithms are coded in MATLAB.

Problem instance generation

The problem case is presented in the form of combination “nb,” where n is the number of jobs and b is the batch capacity. As used by Su (2003) and Zhang et al. (2017), we present the instance generation rule as follows:

The processing time on the single machine is an integer randomly generated from the uniform distribution [1, 10]. We let the processing time of one batch in the batch machine be an integer randomly generated from the uniform distribution [10,bni=1npi+10]. because the batch machine is time-consuming. We denote the sum of the first b LPT on the single machine as Pmax. If the limited waiting time is larger than, Pmax, then the limited waiting time constraint is pointless. Thus, we let the limited waiting time be an integer randomly generated from the uniform distribution[bni=1npi,Pmax]. We let G1 and G2 denote two sizes of instances. The configuration of each group is expressed as follows:

G1:n={8, 12, 16, 20} and b={2, 4},

G2:n={50,100,200,400} and b={10, 20}.

For each combination, we generate 20 instances to test the performance of the proposed algorithm.

The values of the parameters used in the HDE algorithm are presented as follows:

 TimeLimit=600s;

 MaxSame=30;

 PS=2n, D=n, CR=0.5,F=0.7, l=0.4.

Numerical results and analysis

Table 1 lists the problem size that can be solved to optimality with the first 10 instances in each combination. The #Opt column shows the number of instances solved to optimality within 1 h by the mixed integer linear programming model. The Time column shows the average time for the instances solved to optimality by the mathematical model. The Gap column shows the gap between the results of the HDE algorithm and optimal solutions. When no instance in one combination is solved to optimality within 1 h by using the formulation, #Opt is zero and the Time and Gap columns display “-.” In the table, the problem size that can be solved to optimality by the mathematical model is reported as 12 jobs within 1 h on a single PC. The Gap column shows that the HDE algorithm can also obtain optimal solutions.

Table 2 presents the results for instances in G1. The nb column represents the combination between the number of jobs and the batch capacity. The AvgG-HDE column displays the average gap between the objective value achieved by the HDE algorithm and the lower bound. The MaxG-HDE column shows the maximum gap between the objective value achieved by the HDE algorithm and the lower bound. The T-HDE column presents the average time (in seconds) for the HDE algorithm. The AvgG-Su column indicates the average gap between the objective value achieved by the algorithm proposed by Su (2003) and the lower bound. The T-Su column shows the average time (in seconds) for the algorithm proposed by Su (2003). We first calculate the gap and record the time for each instance in this combination when calculating the average gap and time for one combination. Then, we calculate the average gap and time.

Table 2 indicates that the solution times used by the HDE algorithm and the algorithm proposed by Su (2003) are all minimal. The maximum gap for the HDE algorithm is 0.65% in the combination 20–4. For the other combinations, the HDE algorithm can obtain optimal solutions. These results show that the HDE algorithm has a good performance for the instances in small-sized problems. All of the average gaps are smaller in the HDE algorithm than in the algorithm proposed by Su (2003). This finding indicates that the HDE algorithm can obtain better solutions than the algorithm proposed by Su (2003).

The t test is conducted to verify this observation. We establish the null hypothesis H0 as AvgG-HDE-AvgG-Su≥0 and the alternative hypothesis H1 as AvgG-HDE-AvgG-Su<0. Table 2 displays that all of the p-values are less than the 5% significance level, which supports the observation that the HDE algorithm is more competitive than the algorithm proposed by Su (2003) for instances in G1.

Table 3 shows the results for instances in G2. The columns are similar to the columns in Table 2. The maximum gap for the HDE algorithm is 3.49% in the combination 200–20. For combinations 50–20 and 100–20, all of the instances are solved to optimality. The results of the t test show that the HDE algorithm can obtain better solutions than the algorithm proposed by Su (2003) for instances in G2.

Conclusions

In this study, we analyze the two-stage flow shop scheduling problem including batch and single machines. Limited waiting constraint is considered to minimize the makespan. A mixed-integer linear programming model is proposed for this problem. Three tight lower bounds and a heuristic algorithm are developed. The worst-case performance of the proposed algorithm is discussed. The HDE algorithm integrating the solution of the heuristic algorithm is developed to improve the solution quantity. The numerical results show that the proposed hybrid algorithm can obtain high-quality solutions and exhibit a competitive performance. Future work should be focused on developing a constant approximation algorithm for this problem to achieve a good computational performance.

References

[1]

Ahmadi J HAhmadi R HDasu STang C S (1992). Batching and scheduling jobs on batch and discrete processors. Operations Research39(4): 750–763

[2]

Chung T PSun HLiao C J (2016). Two new approaches for a two-stage hybrid flow shop problem with a single batch processing machine under waiting time constraint. Computers & Industrial Engineering, in press160;

[3]

Fu QSivakumar A ILi K P (2012). Optimisation of flow-shop scheduling with batch processor and limited buffer. International Journal of Production Research50(8): 2267–2285

[4]

Gong HTang LDuin C W (2010). A two-stage flow shop scheduling problem on a batching machine and a discrete machine with blocking and shared setup times. Computers & Operations Research37(5): 960–969 

[5]

Hoogeveen HVelde S (1998). Scheduling by positional completion times: analysis of a two-stage flow shop problem with a batching machine. Mathematical Programming82(1-2): 273–289

[6]

Huang ZShi ZZhang CShi L (2017). A note on “Two new approaches for a two-stage hybrid flow shop problem with a single batch processing machine under waiting time constrain”. Computers & Industrial Engineering110: 590–593 

[7]

Shao WPi D (2015). A self-guided differential evolution with neighborhood search for permutation flow shop scheduling. Expert Systems with Applications51: 161–176

[8]

Storn RPrice K (1997). Differential evolution-a simple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimization11(4): 341–359

[9]

Su L H (2003). A hybrid two-stage flow shop with limited waiting time constraints. Computers & Industrial Engineering44(3): 409–424

[10]

Wang H YLu Y BPeng W L (2013). Permutation flow-shop scheduling using a hybrid differential evolution algorithm. International Journal of Computing Science and Mathematics4(3): 298–307

[11]

Yang D LChern M S (1995). A two-machine flow shop scheduling problem with limited waiting time constraints. Computers & Industrial Engineering28(1): 63–70

[12]

Zhang CShi ZHuang ZWu YShi L (2017). Flow shop scheduling with a batch processor and limited buffer. International Journal of Production Research55(11): 3217–3233

RIGHTS & PERMISSIONS

The Author(s) 2017. Published by Higher Education Press. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0)

AI Summary AI Mindmap
PDF (113KB)

4734

Accesses

0

Citation

Detail

Sections
Recommended

AI思维导图

/