A Genetic Algorithm and Tabu Search for Solving Flexible Job Shop ...

9 downloads 1115 Views 431KB Size Report
Huazhong University of Science & Technology, Wuhan, 430074, China [email protected]. Abstract. Flexible job shop scheduling problem (FJSP) is an.
2008 International Symposium on Computational Intelligence and Design

A Genetic Algorithm and Tabu Search for Solving Flexible Job Shop Schedules Guohui Zhang, Yang Shi, Liang Gao* The State Key Laboratory of Digital Manufacturing Equipment and Technology Huazhong University of Science & Technology, Wuhan, 430074, China [email protected] large instances. So several heuristic procedures such as dispatching rules, local search and meta-heuristics such as tabu search (TS), simulated annealing (SA) and genetic algorithm (GA) have been developed in recent years for FJSP. Chen et al. [1] used genetic algorithm with new chromosome representation to solve FJSP. Kacem et al. [3] used tasks sequencing list coding scheme and developed an approach by localization (AL) to find promising initial assignment. Hurink et al. [4] and Dauzère-Pérès et al. [5] proposed different tabu search heuristic approach to solve the FJSP. Mastrolilli and Gambardella [6] proposed some neighborhood functions for the FJSP. Pezzella et al. [7] integrate different strategies for generating the initial population, selecting the individuals for reproduction and reproducing new individuals. In this paper, an improved genetic algorithm combined with local search is proposed to solve the FJSP. Tabu search is adopted for local search. And to control the convergence to the global optimal solution, time-varying crossover probability and time varying maximum step size of tabu search are introduced. Representative benchmark problems are solved and computational results show that the proposed genetic algorithm is efficient and effective.

Abstract Flexible job shop scheduling problem (FJSP) is an important extension of the classical job shop scheduling problem, where the same operation could be processed on more than one machine. An improved genetic algorithm combined with local search is proposed to solve the FJSP with makespan criterion. To control the local search and convergence to the global optimal solution, time-varying crossover probability and time varying maximum step size of tabu search are introduced. Representative flexible job shop scheduling benchmark problems are solved in order to test the effectiveness and efficiency of the proposed algorithm. Computational results show that the proposed genetic algorithm is efficient and effective.

1. Introduction Scheduling is one of the most important issues in the planning and operation of manufacturing systems [1]. In the real manufacturing systems, an operation could be allocated to a suitable machine from an alternative machines set. It is known as the Flexible Job-shop Scheduling Problem (FJSP). The FJSP is a generalization of the classical JSP for flexible manufacturing systems. Each machine may be capable of performing more than one type of operations, i.e., for a given operation, there must exist at least one machine capable of performing it. The problem of scheduling jobs in FJSP could be decomposed into two subproblems: the routing sub-problem, which is assigning each operation to a machine selected out of a set of capable machines and the scheduling sub-problem, which consists of sequencing the assigned operations on all machines in order to obtain a feasible schedule minimizing the predefined objective function. Bruker and Schile [2] were the first to address this problem in 1990, they develop a polynomial graphical algorithm for a two jobs problem. However exact algorithms are not effective for solving FJSP and for

978-0-7695-3311-7/08 $25.00 © 2008 IEEE DOI 10.1109/ISCID.2008.202

2. Problem Description The flexible job-shop scheduling problem (FJSP) could be formulated as follows. There are a set of jobs and a set of machines. Each job consists of a predetermined sequence of operations. For each operation, there is a set of alternative machines set Mij of performing it. The processing time of an operation Oij on each machine is predefined. Each operation could not be interrupted during its performance. And each machine could perform at most one operation at any time. The objective in this paper is to find a schedule with shortest makespan. According to Kacem et al. [3], If M ij ⊂ M , then it has partial flexibility, it is partial FJSP (P-FJSP). Each

369

Authorized licensed use limited to: Huazhong University of Science and Technology. Downloaded on November 28, 2009 at 04:29 from IEEE Xplore. Restrictions apply.

operation could be processed on one machine of subset of M. If M ij = M , then it has total flexibility, it is total

sequence 2-2-1-1-2 depicted could be translated into a list of ordered operations: O21-O22-O11-O12-O23.

FJSP (T-FJSP). Each operation could be processed on any machine of M. With the same number of machines and jobs, the P-FJSP is more difficult to solve than the T-FJSP [3]. In order to describe the algorithm more easily, we give an illustrative instance of FJSP. In Table 1, there are 2 jobs and 5 machines. In the table, the “-” means that the machine can't execute the corresponding operation, i.e., it does not belong to the subset of compatible machines for that operation. This instance has partial flexibility, it presents a P-FJSP.

Figure 1. Chromosome representation

3.2. Selection Choosing individuals for reproduction is the task of selection. The chosen individuals are moved into the mating pool for crossover operation. In this study, we adopt tournament selection, which is proposed by Goldberg and Deb. Three individuals are randomly chosen from parent population, and the three objective values are compared to select the best individual to move into the mating pool. Selected individuals are returned to the population and could be chosen again.

Table 1. An instance of FJSP Job J1 J2

Operation O11 O12 O21 O22 O23

M1 2 — 3 4 —

M2 6 8 — 6 7

M3 5 — 6 5 11

M4 3 4 — — 5

M5 4 — 5 — 8

3. GA and TS for FJSP

3.3. Crossover

3.1. Representation of Individuals

The goal of the crossover is to obtain better chromosomes to improve the result by exchanging information contained in the current good ones. A crossover operation is applied to each pair of the chromosomes to obtain two new chromosomes. In our work we carried out two kinds of crossover for both MS and OS respectively. Machine Selection Part: The crossover operator of MS performs on two machine selection parts. We adopted the two-point crossover. Two unequal integer positions l1 and l2 along the strings are selected uniformly at random between [0, L-1]. Then swap all integers between positions l1 and l2 inclusively. For we only changes some elements' value, their preceding constraints are not be changed. Therefore, the individuals after crossover are also all feasible. Operation Sequence Part: The coding of OS is based on operation-representation. The each value in the OS is equal to the index of each job. So in this study, we adopt an improved Precedence Preserving Order-based crossover (POX) for the operation sequence [8]. The POX works as follows. Step 1: Generate two sub-job set Js1/Js2 from all jobs and select two parent individuals as Os1 and Os2 randomly; Step 2: Copy any element in Os1/Os2 that belong to Js1/Js2 into child individual Os’1/Os’2, and retain in the same position in Os’1/Os’2; Step 3: Delete the elements that are already in the sub-job Js1/Js2 from Os1/Os2;

Better chromosome representation is well designed, no infeasible solutions will be produced after genetic recombination and the algorithm could expect to be more efficient through avoiding the use of a repair mechanism. For this reason, we try to design an efficient coding of the individuals which respects all constraints of FJSP. Our chromosome representation (called MSOS) has two components: Machine Selection (MS) and Operation Sequence (OS). Machine selection part: We use an array of integer values to present machine selection. The length L is the sum of all operations of all jobs. Each integer value equals to the index of alternative machines set of each operation. For instance, in Fig.1, M2 is selected to process operation O12 because the index in the alternative machines set of processing operation O12 is 1. If only one machine could be selected to some operations, the value is 1 in the machine selection array. Operation sequence part: We use the operationbased representation, which defines all operations for a job with the same symbol and then interpret them according to the order of occurrence in the sequence of a given chromosome. The length is L too. It can avoid creating an infeasible schedule through replacing each operation by the corresponding job index. In Table 1, J1 has two operations O11, O12; J2 has three operations O21, O22, O23. In Fig.1, reading the data from left to right and increasing operation index of each job, the operation

370

Authorized licensed use limited to: Huazhong University of Science and Technology. Downloaded on November 28, 2009 at 04:29 from IEEE Xplore. Restrictions apply.

Step 4: Orderly fill the empty position in Os’1/Os’2 with the reminder elements of Os2/Os1; In Table 1, there only are two jobs. It is difficult to present the process of POX. In Fig. 2 we use five jobs to illustrate the procedure of generating two child individuals. The two sub-job sets are Js1={1,3}, Js2={2,4,5}. Then each element in Os1 that belongs to Js1 is copied to Os’1 in the same position orderly, at the same time, delete the each element of Js1 in Os2. Using the reminder elements to orderly fill with the empty position in Os’1. Os’2 is generated through the same steps.

According to our chromosome representation, the new individual is a feasible solution all the same.

3.5. A Tabu Search for Local Search Tabu search is one of the most efficient local search strategies for scheduling problems. It is usually obtained through transforming one solution to the next according to some neighborhood structure. It consists of several elements called the specification of a neighborhood structures, the move attributes, the tabu list length, aspiration criterion and stopping rules. In this study, TS is adopted for local search strategy. At the same time, we choose the neighborhood used in [6]. This neighborhood function is very efficient and very easy to implement. Besides, an efficient approach to calculate every possible neighborhood subset is also adopted in this paper. The parameters of the TS could be characterized as follows: A couple (v, k) is the tabu element in TS, where v is the operation being moved and k is the machine to which v is assigned before the move. T is the tabu list. Tl is the tabu list length, which is equal to the number of operation of the current critical path plus the number of alternative machines set of operation v. V(s) is the set of neighborhood solutions of a feasible solution s of FJSP. F(s) is the objective function value of s, namely makespan. F* is the current minimum value. CurIter is the current iteration number. MaxIter is the max iteration number that TS performs. s* is the best solution that TS procedure has achieved. The implementations in our paper are as follows. Step 1: Get a feasible solution s, and Set TS's parameters: CurIter=0, T=Ø, the MaxIter's value; Step 2: Get the neighborhood solutions V(s), and CurIter=CurIter+1; Step 3: Evaluate the each solution in V(s) to get the best solution s* and set the new T; Step 4: If F(s*)< F* set F*= F(s*) and s = s*; else go to Step 5; Step 5: If CurIter≤MaxIter, go to Step 2; else stop the iteration and return the new solution s*;

Figure 2. Example of POX

3.4. Mutation Mutation usually works on a single chromosome and creates another chromosome through alteration of the value of a string position or exchange of the values of two string positions in order to maintain the diversity of population. Usually, mutation is applied with small probability. Large probability may destroy the well chromosome.

Figure 3. The mutation of MS

Machine Selection Part: MS mutation operator only changes the assignment property of the chromosomes. We select one machine from alternative machine set to replace current machine. If the number of alternative machines of some one operation is only one, the value in MS is 1. In Fig. 3, if the operation O23 is chosen for mutation, the alternative machine set is M23={M2, M3, M4, M5}, and the corresponding index is {1,2,3,4}. Before mutation, the index of processing O23 is 4 in the alternative machines set (that is the M5). According to the alternative machine set, the value could rang from 1 to 4. Suppose the value is equal to 2 after mutation, then the machine of processing O23 is M3. Operation Sequence Part: If one position in the OS chromosome is to be mutated, then another position is randomly generated in [0, L-1] to exchange with it.

4. Algorithm Framework Tabu Search is joined to the scheme of genetic algorithm to keep the balance of the exploitation and exploration. In Fig. 4, the scheme of genetic algorithm and tabu search is shown. In Fig. 4, the initialization population is generated by randomly. After evaluate the population, if the stop criterion is not met. Then there are two operations, if the probability pt of every individual greater than certain probability p, current individual performs crossover, otherwise, current individual performs local

371

Authorized licensed use limited to: Huazhong University of Science and Technology. Downloaded on November 28, 2009 at 04:29 from IEEE Xplore. Restrictions apply.

search. The new population is generated from the two operations. The stop criteria is that the MaxIter is reached or the best makespan has not improved for consecutive.

the results indicate that our proposed algorithm outperforms Ho's approach in all problems. And from the CPU time, the computational speed is quick.

6. Conclusions In this paper, the two traditional algorithms of GA and TS are combined to solve the FJSP. TS is executed for local search according to different probability. And the tabu list length is variable according to different solutions. The experiments prove that the proposed algorithm could be used to solve the FJSP effectively. In the future, design more effective local search strategy is remarkable. Figure 4. Chromosome representation

Acknowledgement

5. Computational Results

This project is supported by 863 High Technology Plan Foundation of China under Grant No.2006AA04Z131 and No.2007AA04Z107.

The proposed algorithm was implemented in C++ on a Pentium IV running at 1.8 GHz, and the data set from Brandimarte which includes 10 test problems. The population size is 100, crossover probability is 0.7, and mutation probability is 0.01. The MaxIter = 50, the step size of no improvement is equal to 10. Certain probability p is equal to 1-CurIter/MaxIter and the maximum step size of TS is CurIter × 200 / MaxIter . Their values are changed with the different iteration. In order to evaluate the efficacy, the test problems were run 5 times consecutively.

References [1] H. Chen, J. Ihlow, C. Lehmann. A genetic algorithm for flexible job-shop scheduling. IEEE International conference on Robotics and Automation, Detroit, 2: 1120-1125, 1999. [2] P. Brucker and R. Schile. Job-shop scheduling with multipurpose machines, Computing, 45(4): 369-375, 1990. [3] I. Kacem, S. Hammadi, P. Borne. Pareto-optimality approach for flexible job-shop scheduling problems: Hybridization of evolutionary algorithms and fuzzy logic. Mathematics and Computers in Simulation, 60: 245-276, 2002. [4] E. Hurink, B. Jurisch, M. Thole. Tabu search for the job shop scheduling problem with multi-purpose machines. Operations Research Spektrum, 15: 205-215, 1994. [5] Dauzère-Pérès, E. Paulli. An integrated approach for modeling and solving the general multi-processor job-shop scheduling problem using tabu search. Annals of Operations Research, 70: 281-306, 1997. [6] M. Mastrolilli, LM.Gambardella. Effective neighborhood functions for the flexible job shop problem. Journal of Scheduling, 3(1): 3-20, 2000. [7] F. Pezzella, G. Morganti, G. Ciaschetti. A genetic algorithm for the flexible job-shop scheduling problem. Computers & Operations Research, 35(10): 3202-3212, 2008. [8] K. Lee, T. Yamakawa, KM. Lee. A genetic algorithm for general machine scheduling problems. International Journal of Knowledge-Based Electronic, 2: 60-66, 1998. [9] NB. Ho, JC. Tay, M. Edmund. An effective architecture for learning and evolving flexible job shop schedules. European Journal of Operational Research, 179: 316-333, 2007.

Table 2. The computational results

In Table 2, n×m denotes the problem scale. (LB, UB) denotes the optimal makespan if known, otherwise, the best lower and upper bound found to date. AV (CM) stands for the average makespan. C*M denotes the best makespan. Ho&Tay is the approach proposed by Ho and Tay [9]. CPU stands for average time in seconds by our proposed algorithm over five runs. From Table 2,

372

Authorized licensed use limited to: Huazhong University of Science and Technology. Downloaded on November 28, 2009 at 04:29 from IEEE Xplore. Restrictions apply.