Int J Adv Manuf Technol (2012) 61:339–349 DOI 10.1007/s00170-011-3701-z

ORIGINAL ARTICLE

Solving a new mathematical model for a hybrid flow shop scheduling problem with a processor assignment by a genetic algorithm Amin Ziaeifar & Reza Tavakkoli-Moghaddam & Khosro Pichka

Received: 8 March 2011 / Accepted: 11 October 2011 / Published online: 1 November 2011 # Springer-Verlag London Limited 2011

Abstract This paper presents a new mathematical model for a hybrid flow shop scheduling problem with a processor assignment that minimizes makespan (i.e., Cmax) and cost of assigning a number of processors to stages. In this problem, it is assumed that there are a number of parallel identical processors which are assigned to all of the stages with an unlimited intermediate storage between any two successive stages. To solve such a hard problem, first a new heuristic algorithm is proposed to compute the makespan that is embedded in the proposed genetic algorithm in order to find the best sequence of jobs, and then processors are assigned to the stages simultaneously. A number of test problems have been solved and related results are illustrated and analyzed. Keywords Hybrid flow shop scheduling . Identical processors . Makespan . Genetic algorithm

1 Introduction A scheduling problem has a prominent impression in modern manufacturing, planning, and control systems. Optimal scheduling multi-stage processing can be considered in terms of a shop scheduling problem, in which a set of jobs has to be sequentially assigned to a set of machines. In some manufacA. Ziaeifar : R. Tavakkoli-Moghaddam (*) Department of Industrial Engineering, College of Engineering, University of Tehran, Tehran, Iran e-mail: [email protected] R. Tavakkoli-Moghaddam e-mail: [email protected] K. Pichka Department of Industrial Engineering, University of Tafresh, Tafresh, Iran

turing and assembly facilities, each job has to go through a series of operations. Often, these operations have to be done on all jobs in the same order implying that the jobs have to follow the same route. This environment is referred to a flow shop, and the machines are then assumed to be set up in series. Hybrid flow shop (HFS) is a machine environment with K stages in series. At stage j (j=1,…,K), there are a number of processors in parallel. It can be considered that processors are identical, and there is an unlimited intermediate storage between any two successive stages. Job i (i=1,…,N) has to be processed at each stage on one machine. Processing times of job i at the various stages are pi1, pi2, …,pik. Minimizing the makespan (i.e., the maximum completion time, Cmax) in the HFS environment is referred to HFk (PM(1),…, PM k)∥Cmax, according to specific notations proposed in [1]. The parallel machine and flow shop environments are special case of this machine environment. The objective of a HFS scheduling is to determine the detailed sequencing and scheduling of all tasks for each individual part in order to maximize the line’s productivity, which may be defined in terms of throughput or the schedule length (i.e., makespan) for a mix of part types. Hybrid flow shop problems can be shown as flexible flow lines (FFL) enabling us to represent most of the production environments. Several industries, such as chemical and tile [2], textile [3], and metallurgical industry [4], can be modeled as a hybrid flow shop. Due to necessity of intelligential computation, metaheuristic algorithms, such as artificial neural network, ant colony optimization [5], genetic algorithm (GA) [6], particle swarm optimization [7], and tabu search (TS), have been widely used in different kinds of scheduling problems. The GA is based on the principle of survival of the fittest. It works with a set of encoded solutions of the problem that is called population. The main idea is to start with a set of solutions or chromosomes and to generate a new set by applying some operators on the old ones. Each chromosome in the

340

population has a fitness value. The fittest chromosome is the best one. Some solutions are selected to create a new set for next iteration that would be started and so on until the stopping criterion is met. Choosing some members (or individuals) from the population leads us to a generation. The fittest chromosomes should have a greater chance of being chosen. These chromosomes are combined in the crossover process and generate some new chromosomes, which are called offspring. Then, some offspring may change in some genes by the mutation process. The effectiveness of a GA depends on choosing operators and determining parameters (e.g., crossover, mutation, encoding the solution, population size, and different operator rates) to make the whole population.

2 Literature review The hybrid flow shop scheduling problem is a generalization of the scheduling problem that is NP-complete. In order to minimize the makespan, branch-and-bound algorithm [8] and enumerative approach [9] have been presented; however, they are suitable only for small-sized problems. Due to the computational complexity, a number of recent studies have been focused on developing efficient heuristics minimizing the makespan. Santos et al. [10] presented global lower bound on flow shop with multiple processors makespan problems, which may be used to assess the quality of heuristics when the optimal solution is unknown. Results illustrated that the presented lower bound was strong indicator of the optimal makespan. Guinet et al. [11] formulated the two-stage flexible flow shop problem (FFS) as a mixed-integer program. They also presented three lower bounds to estimate the optimal solution. Sawik [12] presented a mixed-integer programming (MIP) for scheduling flexible flow lines with limited intermediate buffers. The objective was to determine a production schedule for all products so as to complete the products in a minimum time. Furthermore, Sawik [13] presented an MIP approach for the makespan minimization in flexible flow lines with limited intermediate buffers. His exact solution approach based on an MIP formulation was capable of optimal scheduling of batches of different part types by using commercially available software for discrete programming. The proven optimal solutions that can be obtained for smallsized problems can be also used to evaluate the performance of various heuristics for FFL batch scheduling. Kurz and Askin [14] evaluated the FFS with sequencedependent setup times. They explored three classes of heuristics. The first class of heuristics was cyclic heuristics with little or no regard for the setup times. The second class was based on the insertion heuristic for the traveling salesman problem, and the third class of heuristics was

Int J Adv Manuf Technol (2012) 61:339–349

based on the Johnson’s rule. Ruiz et al. [15] proposed MIP and some heuristics for the scheduling n jobs on m stages, in which they considered a known number of unrelated machines at each stage. The MIP model and heuristics proposed are tested against a comprehensive benchmark, and the results are evaluated by advanced statistical tools that make the use of decision trees and experimental designs. Paternina-Arboleda et al. [16] considered the problem of the makespan minimization on a flexible flow shop with k stages and m machines at any stage. They proposed a heuristic algorithm based on the identification and exploitation of the bottleneck stage. Jungwattanakit et al. [17] regarded a comparison of scheduling algorithms for flexible flow shop problems with unrelated parallel machines, setup times, and dual criteria. The 0–1 MIP was formulated for the problem. In addition, meta-heuristics were suggested, namely SA, TS, GA, and memetic algorithm (MA). Tavakkoli-Moghaddam et al. [18] proposed a MA combined with a novel local search engine, namely nested variable neighborhood search in order to solve the flexible flow line scheduling problem with processor blocking and without intermediate buffers. The processor selection is rarely considered in the area of scheduling. Cao et al. [19] presented the problem that simultaneously selecting parallel machines and scheduling jobs to minimize the sum of the machine holding cost and the job tardiness cost. A combinatorial optimization model was developed for the problem, and some small-sized problems were solved using the LINDO optimization software. In addition, a heuristic algorithm was developed to locate the optimal or near-optimal solutions based on a TS method, specially designed to control the search process in the solution neighborhood for jobs scheduled on specific machines. Several studies on hybrid flow shop scheduling problems have been surveyed and categorized. Linn and Zhang [20] presented a survey on hybrid flow shop scheduling problem for the first time. Kis and Pesch [21] provided a review on exact solution methods for flexible flow shops with branching, bounding, and propagation of constraints considering two different objectives, namely makespan and flow time. Ruiz and Vazquez-Rodriguez [22] presented a literature review on exact, heuristic, and meta-heuristic methods that have been proposed for the solution. Their paper briefly discussed and reviewed several variants of the HFS problem. Ribas et al. [23] classified the papers on HFS problems: first according to the HFS characteristics and production limitations and second according to the solution approach proposed.

3 Problem definition The hybrid flow shop consists of K-independent processing stages in series, in which stage j (j=1,…,K) is made up of mj ≥1 (i.e., identical parallel processors), and there is an

Int J Adv Manuf Technol (2012) 61:339–349

unlimited intermediate storage between any two successive stages. Total number of processors of the system is fixed and equal to F. The processors can be transferred between stages and cooperate with processors at each stage in order to perform the operations. The system produces various types of N products. Each product should be processed without any preemption on exactly one processor in each stage sequentially. That is, each product should be processed in stage 1 through stage K according to the FIFO rule. The problem is to determine the best sequence of jobs for stage one and the best assignment of identical processors to each stage in order to minimize the makespan and the cost of processor assignment for a set of N jobs. To model this problem, a kind of the assignment problem and MIP for the HFS are combined. This model just assigns some identical processors to each stage in order to minimize the makespan, and also there is no difference between any processors. All the processors are the same and each of them can perform any task required at any stage, and processor transferring is acceptable between stages according to the processors characteristics. This kind of environment can be seen and utilized in some industries, such as textile industry. Figure 1 presents the schematic structure of the proposed environment. The presented formulation is based on the following assumptions: & & & & & & &

All the N jobs are available for processing at initial time. One machine can process only one job at a time and one job can be processed by only one machine at a time. Processing times are known and deterministic at each stage for all the N jobs. Setup times are considered in the job processing times at the corresponding stage. Even though the processors are identical, each processor has a unique index. Travel time between consecutive stages is negligible. Preemption is not allowed.

341

Β α

3.3 Decision variables

3.2 Parameters max1 max2 Pij V Α

Maximum value for the objective 1 Maximum value for the objective 2 Processing time of job i in stage j Unit cost of processor assigning Weighting factor of the first objective function

1 if job i is assigned to processor m at stage j 0 Otherwise 1 if job h precedes job i on processor m at stage j 0 Otherwise 1 if processor m assigned to stage j 0 Otherwise Starting time of job i at stage j on processor m Completion time of job i at stage j on processor m Large constant

Zihmj Ymj Simj Cimj M

max1 ¼ 1:25

F F ð K 1Þ 2

V N Mean Pij K F max2 ¼ K

where Mean(Pij) is the average of all the processing times. 3.4 HFS processor assignment and scheduling model

min a

K F X X j¼1

Ymj

m¼1

F F X Ymj V m¼1

!!

! =max1

þ ð1 aÞðCmax =max2 Þ

ð1Þ s.t. K X

Ymj ¼ 1 8m

ð2Þ

j¼1

F X

Ymj F ðK 1Þ 8j

ð3Þ

m¼1

3.1 Indices Index of job (i=1,…,N) Index of stage(j=1,…,K) Index of processor(m=1,…,F)

Ximj

1

i j m

Weighting factor of the second objective function Coefficient of the first objective function

Cmax

F X

Ximj Cimj 8i; j

ð4Þ

m¼1

F X

Ymj Ximj ¼ 1 8i; j

ð5Þ

Ximj ¼ 1 8i; j

ð6Þ

m¼1

F X m¼1

342 Fig. 1 Schematic presentation of the proposed flexible flow shop

Int J Adv Manuf Technol (2012) 61:339–349

3

1

2

1

6 4 2

5

F

Stage 1

1 Ximj Pij þ Ximj Cimj ¼ Ximj Simj þ Pij 8 i; m; j

ð7Þ

Ximj Cimj Xim0 ðjþ1Þ Sim0 ðjþ1Þ 8i; m; j; m0 6¼ m

ð8Þ

Ximj Xhmj Simj Ximj Xhmj ðChmj MZihmj 8i; m; j; h 6¼ i

ð9Þ

Ximj Xhmj ðZihmj þ Zhimj ¼ Ximj Xhmj 8i; m; j; h 6¼ i

ð10Þ

Ym1 Xim1 Sim1 0 8i; m

ð11Þ

Ymj ; Ximj ; Zihmj 2 f0; 1g

ð12Þ

Simj ; Cimj 0

ð13Þ

The objective function 1 considers the minimization of the Cmax (i.e., maximum completion time of jobs, known as makespan) and the cost of assigning processors to each stage regarding to each objective function’s weight. It should be noted that it is applied a progressive weight P function VF Fm¼1 Ymj in the first term of objective function for assigning processors to each stage. This progressive weight function depends on the total number of processors assigned to each stage and two fixed parameters, F and V. Using the above function leads to a level distribution of processors to stages. Constraint 2 ensures that each processor exactly is assigned to one stage. Constraint 3 limits the total number of processors which are assigned to a specific stage. These bounds are derived from the HFS environment definition. Constraint 4 controls that the Cmax is greater equal than the completion times of the N

Stage 2

Stage K

jobs at the last stage. Constraints 5 and 6 ensure that each job at each stage is exactly assigned to a unique processor through the processors assigned to that stage. Constraint 7 ensures that the completion time of each job at each stage is equal to sum of starting time and processing time of that job. Constraint 8 simply ensures that starting time of each job at any stage is at least equal to the completion time of that job at the previous stage. Constraint 9 ensures that starting time of job i is at least equal to the completion time of job h when job h precedes job i, and both of jobs have been assigned to one machine through those which have been assigned to that stage. Constraint 10 controls that for a pair of jobs (i,h), one have to precede another if both of them are assigned to one machine at a certain stage. Constraint 11 simply bounds the starting time of jobs at the first stage. Constraint 12 forces variables Ymj, Ximj, and Zihmj to be binary variables. Finally, constraint 13 ensures that decision variables are not negative. The value of α, according to some experiments, is set to 0.4. It should be noted that there is no necessity of using the unique index for each processor, and it is just for simplifying the assignment procedure. However, it is necessary to quantify the number of processors assigned to a specific stage. The presented model is coded and solved in LINGO, and the solution is found in acceptable time duration for small-sized problems. Table 1 presents the size of the solved problem and the state of found solutions. The processing times are randomly generated by the uniform distribution between 1 and 10. The value of V is 4 for the given examples.

4 A heuristic algorithm to compute the makespan by GA The hybrid flow shop scheduling problem contains a collection of single processor scheduling problems. Some scheduling problems have been proved to be NP-hard or

Int J Adv Manuf Technol (2012) 61:339–349

343

NP-complete. The general K-stage multiprocessor flow shop scheduling problem is strongly NP-hard for all traditional optimality criteria, since the special cases of F2∥Cmax and F3∥Cmax with only one machine at each stage are NP-hard in the strong sense. Moreover, the makespan minimization problem is already NP-hard in the strong sense when K=2 and max{M1, M2}>1 that has been shown in [24]. Problem of finding the makespan for the problem considered in this paper is NP-hard and should be solved by using a heuristic algorithm. In this section, a new algorithm is presented to compute the makespan. The algorithm is presented in a framework of the considered problem but can be used in general. By using the results (i.e., makespan) of this algorithm as the first fitness function of the GA presented in Section 5, the concept of algorithm is clearly specified. The proposed algorithm is for computing the makespan approximately for a random solution of the problem (or chromosome of the GA); the steps of the algorithm are as follows: Step 0

Generate a random sequence for the first stage. Then, generate a random assignment of processors to stages, in which each stage has at least one processor, as defined in the HFS definition. This step is attained by initial chromosomes of the GA for applying in the GA that will be presented in Section 5. Step 1 Run the algorithm by considering determined sequence and calculate the completion time for each job on stage 1 with respect to the number of processors of stage 1. This goal can be achieved by summing and cumulating the processing time of jobs in the batch according to the number of processors in continual manner and sorting each result (this sorting ensures the FIFO rule). These data can be saved as a list namely completion list,

Table 1 Problems solved by LINGOa

&

&

If the number of processors in stage 2 is less than stage 1 (i.e., n), separate n jobs from the sorted completion list. The value of the completion time of the mentioned jobs should be considered as zero time for calculating the completion list at stage 2. By considering this stage as a single one, the zero time would be calculated. Else, if the number of processors in stage 1 be m

ORIGINAL ARTICLE

Solving a new mathematical model for a hybrid flow shop scheduling problem with a processor assignment by a genetic algorithm Amin Ziaeifar & Reza Tavakkoli-Moghaddam & Khosro Pichka

Received: 8 March 2011 / Accepted: 11 October 2011 / Published online: 1 November 2011 # Springer-Verlag London Limited 2011

Abstract This paper presents a new mathematical model for a hybrid flow shop scheduling problem with a processor assignment that minimizes makespan (i.e., Cmax) and cost of assigning a number of processors to stages. In this problem, it is assumed that there are a number of parallel identical processors which are assigned to all of the stages with an unlimited intermediate storage between any two successive stages. To solve such a hard problem, first a new heuristic algorithm is proposed to compute the makespan that is embedded in the proposed genetic algorithm in order to find the best sequence of jobs, and then processors are assigned to the stages simultaneously. A number of test problems have been solved and related results are illustrated and analyzed. Keywords Hybrid flow shop scheduling . Identical processors . Makespan . Genetic algorithm

1 Introduction A scheduling problem has a prominent impression in modern manufacturing, planning, and control systems. Optimal scheduling multi-stage processing can be considered in terms of a shop scheduling problem, in which a set of jobs has to be sequentially assigned to a set of machines. In some manufacA. Ziaeifar : R. Tavakkoli-Moghaddam (*) Department of Industrial Engineering, College of Engineering, University of Tehran, Tehran, Iran e-mail: [email protected] R. Tavakkoli-Moghaddam e-mail: [email protected] K. Pichka Department of Industrial Engineering, University of Tafresh, Tafresh, Iran

turing and assembly facilities, each job has to go through a series of operations. Often, these operations have to be done on all jobs in the same order implying that the jobs have to follow the same route. This environment is referred to a flow shop, and the machines are then assumed to be set up in series. Hybrid flow shop (HFS) is a machine environment with K stages in series. At stage j (j=1,…,K), there are a number of processors in parallel. It can be considered that processors are identical, and there is an unlimited intermediate storage between any two successive stages. Job i (i=1,…,N) has to be processed at each stage on one machine. Processing times of job i at the various stages are pi1, pi2, …,pik. Minimizing the makespan (i.e., the maximum completion time, Cmax) in the HFS environment is referred to HFk (PM(1),…, PM k)∥Cmax, according to specific notations proposed in [1]. The parallel machine and flow shop environments are special case of this machine environment. The objective of a HFS scheduling is to determine the detailed sequencing and scheduling of all tasks for each individual part in order to maximize the line’s productivity, which may be defined in terms of throughput or the schedule length (i.e., makespan) for a mix of part types. Hybrid flow shop problems can be shown as flexible flow lines (FFL) enabling us to represent most of the production environments. Several industries, such as chemical and tile [2], textile [3], and metallurgical industry [4], can be modeled as a hybrid flow shop. Due to necessity of intelligential computation, metaheuristic algorithms, such as artificial neural network, ant colony optimization [5], genetic algorithm (GA) [6], particle swarm optimization [7], and tabu search (TS), have been widely used in different kinds of scheduling problems. The GA is based on the principle of survival of the fittest. It works with a set of encoded solutions of the problem that is called population. The main idea is to start with a set of solutions or chromosomes and to generate a new set by applying some operators on the old ones. Each chromosome in the

340

population has a fitness value. The fittest chromosome is the best one. Some solutions are selected to create a new set for next iteration that would be started and so on until the stopping criterion is met. Choosing some members (or individuals) from the population leads us to a generation. The fittest chromosomes should have a greater chance of being chosen. These chromosomes are combined in the crossover process and generate some new chromosomes, which are called offspring. Then, some offspring may change in some genes by the mutation process. The effectiveness of a GA depends on choosing operators and determining parameters (e.g., crossover, mutation, encoding the solution, population size, and different operator rates) to make the whole population.

2 Literature review The hybrid flow shop scheduling problem is a generalization of the scheduling problem that is NP-complete. In order to minimize the makespan, branch-and-bound algorithm [8] and enumerative approach [9] have been presented; however, they are suitable only for small-sized problems. Due to the computational complexity, a number of recent studies have been focused on developing efficient heuristics minimizing the makespan. Santos et al. [10] presented global lower bound on flow shop with multiple processors makespan problems, which may be used to assess the quality of heuristics when the optimal solution is unknown. Results illustrated that the presented lower bound was strong indicator of the optimal makespan. Guinet et al. [11] formulated the two-stage flexible flow shop problem (FFS) as a mixed-integer program. They also presented three lower bounds to estimate the optimal solution. Sawik [12] presented a mixed-integer programming (MIP) for scheduling flexible flow lines with limited intermediate buffers. The objective was to determine a production schedule for all products so as to complete the products in a minimum time. Furthermore, Sawik [13] presented an MIP approach for the makespan minimization in flexible flow lines with limited intermediate buffers. His exact solution approach based on an MIP formulation was capable of optimal scheduling of batches of different part types by using commercially available software for discrete programming. The proven optimal solutions that can be obtained for smallsized problems can be also used to evaluate the performance of various heuristics for FFL batch scheduling. Kurz and Askin [14] evaluated the FFS with sequencedependent setup times. They explored three classes of heuristics. The first class of heuristics was cyclic heuristics with little or no regard for the setup times. The second class was based on the insertion heuristic for the traveling salesman problem, and the third class of heuristics was

Int J Adv Manuf Technol (2012) 61:339–349

based on the Johnson’s rule. Ruiz et al. [15] proposed MIP and some heuristics for the scheduling n jobs on m stages, in which they considered a known number of unrelated machines at each stage. The MIP model and heuristics proposed are tested against a comprehensive benchmark, and the results are evaluated by advanced statistical tools that make the use of decision trees and experimental designs. Paternina-Arboleda et al. [16] considered the problem of the makespan minimization on a flexible flow shop with k stages and m machines at any stage. They proposed a heuristic algorithm based on the identification and exploitation of the bottleneck stage. Jungwattanakit et al. [17] regarded a comparison of scheduling algorithms for flexible flow shop problems with unrelated parallel machines, setup times, and dual criteria. The 0–1 MIP was formulated for the problem. In addition, meta-heuristics were suggested, namely SA, TS, GA, and memetic algorithm (MA). Tavakkoli-Moghaddam et al. [18] proposed a MA combined with a novel local search engine, namely nested variable neighborhood search in order to solve the flexible flow line scheduling problem with processor blocking and without intermediate buffers. The processor selection is rarely considered in the area of scheduling. Cao et al. [19] presented the problem that simultaneously selecting parallel machines and scheduling jobs to minimize the sum of the machine holding cost and the job tardiness cost. A combinatorial optimization model was developed for the problem, and some small-sized problems were solved using the LINDO optimization software. In addition, a heuristic algorithm was developed to locate the optimal or near-optimal solutions based on a TS method, specially designed to control the search process in the solution neighborhood for jobs scheduled on specific machines. Several studies on hybrid flow shop scheduling problems have been surveyed and categorized. Linn and Zhang [20] presented a survey on hybrid flow shop scheduling problem for the first time. Kis and Pesch [21] provided a review on exact solution methods for flexible flow shops with branching, bounding, and propagation of constraints considering two different objectives, namely makespan and flow time. Ruiz and Vazquez-Rodriguez [22] presented a literature review on exact, heuristic, and meta-heuristic methods that have been proposed for the solution. Their paper briefly discussed and reviewed several variants of the HFS problem. Ribas et al. [23] classified the papers on HFS problems: first according to the HFS characteristics and production limitations and second according to the solution approach proposed.

3 Problem definition The hybrid flow shop consists of K-independent processing stages in series, in which stage j (j=1,…,K) is made up of mj ≥1 (i.e., identical parallel processors), and there is an

Int J Adv Manuf Technol (2012) 61:339–349

unlimited intermediate storage between any two successive stages. Total number of processors of the system is fixed and equal to F. The processors can be transferred between stages and cooperate with processors at each stage in order to perform the operations. The system produces various types of N products. Each product should be processed without any preemption on exactly one processor in each stage sequentially. That is, each product should be processed in stage 1 through stage K according to the FIFO rule. The problem is to determine the best sequence of jobs for stage one and the best assignment of identical processors to each stage in order to minimize the makespan and the cost of processor assignment for a set of N jobs. To model this problem, a kind of the assignment problem and MIP for the HFS are combined. This model just assigns some identical processors to each stage in order to minimize the makespan, and also there is no difference between any processors. All the processors are the same and each of them can perform any task required at any stage, and processor transferring is acceptable between stages according to the processors characteristics. This kind of environment can be seen and utilized in some industries, such as textile industry. Figure 1 presents the schematic structure of the proposed environment. The presented formulation is based on the following assumptions: & & & & & & &

All the N jobs are available for processing at initial time. One machine can process only one job at a time and one job can be processed by only one machine at a time. Processing times are known and deterministic at each stage for all the N jobs. Setup times are considered in the job processing times at the corresponding stage. Even though the processors are identical, each processor has a unique index. Travel time between consecutive stages is negligible. Preemption is not allowed.

341

Β α

3.3 Decision variables

3.2 Parameters max1 max2 Pij V Α

Maximum value for the objective 1 Maximum value for the objective 2 Processing time of job i in stage j Unit cost of processor assigning Weighting factor of the first objective function

1 if job i is assigned to processor m at stage j 0 Otherwise 1 if job h precedes job i on processor m at stage j 0 Otherwise 1 if processor m assigned to stage j 0 Otherwise Starting time of job i at stage j on processor m Completion time of job i at stage j on processor m Large constant

Zihmj Ymj Simj Cimj M

max1 ¼ 1:25

F F ð K 1Þ 2

V N Mean Pij K F max2 ¼ K

where Mean(Pij) is the average of all the processing times. 3.4 HFS processor assignment and scheduling model

min a

K F X X j¼1

Ymj

m¼1

F F X Ymj V m¼1

!!

! =max1

þ ð1 aÞðCmax =max2 Þ

ð1Þ s.t. K X

Ymj ¼ 1 8m

ð2Þ

j¼1

F X

Ymj F ðK 1Þ 8j

ð3Þ

m¼1

3.1 Indices Index of job (i=1,…,N) Index of stage(j=1,…,K) Index of processor(m=1,…,F)

Ximj

1

i j m

Weighting factor of the second objective function Coefficient of the first objective function

Cmax

F X

Ximj Cimj 8i; j

ð4Þ

m¼1

F X

Ymj Ximj ¼ 1 8i; j

ð5Þ

Ximj ¼ 1 8i; j

ð6Þ

m¼1

F X m¼1

342 Fig. 1 Schematic presentation of the proposed flexible flow shop

Int J Adv Manuf Technol (2012) 61:339–349

3

1

2

1

6 4 2

5

F

Stage 1

1 Ximj Pij þ Ximj Cimj ¼ Ximj Simj þ Pij 8 i; m; j

ð7Þ

Ximj Cimj Xim0 ðjþ1Þ Sim0 ðjþ1Þ 8i; m; j; m0 6¼ m

ð8Þ

Ximj Xhmj Simj Ximj Xhmj ðChmj MZihmj 8i; m; j; h 6¼ i

ð9Þ

Ximj Xhmj ðZihmj þ Zhimj ¼ Ximj Xhmj 8i; m; j; h 6¼ i

ð10Þ

Ym1 Xim1 Sim1 0 8i; m

ð11Þ

Ymj ; Ximj ; Zihmj 2 f0; 1g

ð12Þ

Simj ; Cimj 0

ð13Þ

The objective function 1 considers the minimization of the Cmax (i.e., maximum completion time of jobs, known as makespan) and the cost of assigning processors to each stage regarding to each objective function’s weight. It should be noted that it is applied a progressive weight P function VF Fm¼1 Ymj in the first term of objective function for assigning processors to each stage. This progressive weight function depends on the total number of processors assigned to each stage and two fixed parameters, F and V. Using the above function leads to a level distribution of processors to stages. Constraint 2 ensures that each processor exactly is assigned to one stage. Constraint 3 limits the total number of processors which are assigned to a specific stage. These bounds are derived from the HFS environment definition. Constraint 4 controls that the Cmax is greater equal than the completion times of the N

Stage 2

Stage K

jobs at the last stage. Constraints 5 and 6 ensure that each job at each stage is exactly assigned to a unique processor through the processors assigned to that stage. Constraint 7 ensures that the completion time of each job at each stage is equal to sum of starting time and processing time of that job. Constraint 8 simply ensures that starting time of each job at any stage is at least equal to the completion time of that job at the previous stage. Constraint 9 ensures that starting time of job i is at least equal to the completion time of job h when job h precedes job i, and both of jobs have been assigned to one machine through those which have been assigned to that stage. Constraint 10 controls that for a pair of jobs (i,h), one have to precede another if both of them are assigned to one machine at a certain stage. Constraint 11 simply bounds the starting time of jobs at the first stage. Constraint 12 forces variables Ymj, Ximj, and Zihmj to be binary variables. Finally, constraint 13 ensures that decision variables are not negative. The value of α, according to some experiments, is set to 0.4. It should be noted that there is no necessity of using the unique index for each processor, and it is just for simplifying the assignment procedure. However, it is necessary to quantify the number of processors assigned to a specific stage. The presented model is coded and solved in LINGO, and the solution is found in acceptable time duration for small-sized problems. Table 1 presents the size of the solved problem and the state of found solutions. The processing times are randomly generated by the uniform distribution between 1 and 10. The value of V is 4 for the given examples.

4 A heuristic algorithm to compute the makespan by GA The hybrid flow shop scheduling problem contains a collection of single processor scheduling problems. Some scheduling problems have been proved to be NP-hard or

Int J Adv Manuf Technol (2012) 61:339–349

343

NP-complete. The general K-stage multiprocessor flow shop scheduling problem is strongly NP-hard for all traditional optimality criteria, since the special cases of F2∥Cmax and F3∥Cmax with only one machine at each stage are NP-hard in the strong sense. Moreover, the makespan minimization problem is already NP-hard in the strong sense when K=2 and max{M1, M2}>1 that has been shown in [24]. Problem of finding the makespan for the problem considered in this paper is NP-hard and should be solved by using a heuristic algorithm. In this section, a new algorithm is presented to compute the makespan. The algorithm is presented in a framework of the considered problem but can be used in general. By using the results (i.e., makespan) of this algorithm as the first fitness function of the GA presented in Section 5, the concept of algorithm is clearly specified. The proposed algorithm is for computing the makespan approximately for a random solution of the problem (or chromosome of the GA); the steps of the algorithm are as follows: Step 0

Generate a random sequence for the first stage. Then, generate a random assignment of processors to stages, in which each stage has at least one processor, as defined in the HFS definition. This step is attained by initial chromosomes of the GA for applying in the GA that will be presented in Section 5. Step 1 Run the algorithm by considering determined sequence and calculate the completion time for each job on stage 1 with respect to the number of processors of stage 1. This goal can be achieved by summing and cumulating the processing time of jobs in the batch according to the number of processors in continual manner and sorting each result (this sorting ensures the FIFO rule). These data can be saved as a list namely completion list,

Table 1 Problems solved by LINGOa

&

&

If the number of processors in stage 2 is less than stage 1 (i.e., n), separate n jobs from the sorted completion list. The value of the completion time of the mentioned jobs should be considered as zero time for calculating the completion list at stage 2. By considering this stage as a single one, the zero time would be calculated. Else, if the number of processors in stage 1 be m