Proceedings of the th Hawaii International Conference on System Sciences - 00 Effects of Symbiotic Evolution in Genetic Algorithms for Job-Shop Scheduling Yasuhiro Tsujimura Yuichiro Mafune Mitsuo Gen Department of Industrial and Information Systems Engineering Ashiaga Institute of Technology 68- Ohmae-cho, Ashiaga 6-8558, Japan Phone: +8(8)6-0605 Fax: +8(8)6-07 E-mail: tujimr@ashitech.ac.jp Abstract In our recent research, we showed results of the comparative study on effects of using several inds of scheduling evaluation criteria as the fitness function of a genetic algorithm for job-shop scheduling. From these results, we obtained that the idle time criterion sometimes can provide a good maespan-minimizing schedule for a job-shop scheduling problem. In this paper, according to the above results, we propose a symbiotic genetic algorithm. The symbiotic genetic algorithm is structured with two inds of evolution processes, i.e., () a co-evolution process in which both maespan and idle time schedule criteria are employed as the fitness functions into the operation-based genetic algorithm for job-shop scheduling, and () a sub-evolution process in which the total job waiting time schedule criterion is used as the fitness to provide high diversity for chromosome population. The symbiotic genetic algorithm tested on famous benchmar job-shop scheduling problems. Further, we introduce the concept of software system for job-shop scheduling based on the proposed method. Keywords Genetic Algorithm, Job-shop Scheduling, Symbiotic Mechanism I. INTRODUCTION Job-shop Scheduling Problem (JSP) is one of the well-nown hardest combinatorial optimization problems, and many inds of solution methods based on Genetic Algorithms (GAs) have been proposed by a significant number of researchers so far[,,]. In our recent research, we showed results of the comparative study on effects of using several inds of scheduling evaluation criteria as the fitness function of a GA for JSP[]. From these results, we obtained that the total machine idle time criterion sometimes can provide a good maespan-minimizing schedule for JSP. And we mentioned that it might be possible to obtain better solution for JSPs by using both maespan and total machine idle time as the evaluation function in the GA[5]. In this paper, according to the above results, we propose a genetic algorithm with symbiotic mechanism. The symbiotic genetic algorithm is structured with two inds of evolution processes, i.e., () a co-evolution process in which both maespan and total machine idle time schedule criteria are employed as the fitness functions into the operation-based genetic algorithm for job-shop scheduling proposed by Tsujimura et al.[], and () a sub-evolution process in which the total job waiting time schedule criterion is used as the fitness function to provide high diversity for chromosome population. We investigate the effects of the co-evolution/sub-evolution mechanism into the genetic algorithm through some comparative numerical experiments. Further, we introduce the concept of a software system SYMGA/JSP for solving JSPs based on the proposed genetic algorithm. II. DEFINITION OF THE JOB-SHOP SCHEDULING PROBLEM There are some assumptions about the job-shop scheduling problem in this paper as follows:! There are n jobs, and each job consists of m operations.! Each job has given processing order and processing time.! Operations are never stopped.! Each machine can process only one job at once. JSP is a problem to obtain the schedule, which optimizes a schedule criterion with satisfying the above constraints. III. THE OPERATION-BASED GENETIC ALGORITHM. Genetic Representation We used the operation-based representation method we proposed[]. This representation encodes a schedule as a sequence of operations. Each gene denotes each job, and a chromosome can be decoded in to a schedule indirectly (unfortunately it is not one-to-one mapping). A chromosome consists of n m genes. The encoding and decoding processed are very complicated, so the details can be seen in []. A chromosome is composed of the genes of n m, and each gene denotes each job. 0-7695-098-9/0 $0.00 (c) 00 IEEE
Proceedings of the th Hawaii International Conference on System Sciences - 00 Each gene is scheduled in appearance order according to job-machine processing order table. For example, in case of the chromosome, [,,,,,,,,] of Figure, first gene "" denotes operation of job. Second gene "" denotes operation of job. Third gene "" denotes operation of job. We schedule these operations using according to job-machine processing order table. j j j j j j j j j m m m m m m m m m Operation process order on each job Process order job j j j m m j j j Job process order on each machine machine Process order m m m j j j Job process time job Process time j j 5 j NSM (Neighbor Search Mutation) is used for mutation operation[][6]. Here, set =. In the case of job-machine problem, select genes randomly if =. We evaluate all combinations of those genes and select the best combination. Figure shows an example of the operation. original chromosome candidates Best chromosome in candidates evaluated by evaluation function. new chromosome Figure : Neighbor Search Mutation m j j j 7 0 Figure : An Example of Decoding t c. Selection We employ the spinning roulette wheel selection method [6].. Genetic Operations We employed the following genetic operations: a. Crossover We use PSX (Partial Crossover[][6]. PSX is a modified version of PMX (Partial Mapped Crossover) to be suitable for the operation-based representation. An example is shown in Figure. parent parent intermediate intermediate offspring offspring b. Mutation excess gene missing gene Figure : Partial Mapped Crossover. Criteria Here, three schedule criteria were used in the co-evolution/sub-evolution processes as evaluation functions. The three schedule criteria are follows: Maximum completion time (MAKESPAN) Total idle time (IDLE) Total waiting time (WAIT) min min min max {max c i } m m = m f n = i = i n All of them should be minimized to optimize the schedule. And where, n is the number of jobs, m is the number of machines, c i is the finishing time of job i on machine, f is the total idle time for machine, and w i is the waiting time of job i on machine. IV. INTRODUCING CO-EVOLUTION AND SUB-EVOLUTION PROCESSES To derive enough robustness to solve the two problems mentioned in introduction, we introduce co-evolution and sub-evolution processes into the operation-based genetic algorithm, that is: a. Co-evolution process w i 0-7695-098-9/0 $0.00 (c) 00 IEEE
Proceedings of the th Hawaii International Conference on System Sciences - 00 This process is the main stream of the proposed symbiotic GA. Single chromosome population is evaluated by both the maespan criterion and the total machine idle time criterion. The co-evolution process is described as follows: Step : Generate initial population whose size is pop_size randomly, and set generation gen and counter cnt are and 0. Let Pop(gen) is the chromosome population at the generation gen. Step : Apply the crossover and mutation operations for the current population Pop(gen) and produce newly ch_size C and ch_size M chromosomes, respectively. Step : Evaluate pop_size+ch_size C +ch_size M chromosomes by both maespan and idle time, and select the best pop_size ms chromosomes according to the fitness value evaluated by the maespan criterion, and the best pop_size id chromosomes by using the total machine idle time criterion from pop_size + ch_size C + ch_size M chromosomes, respectively. (Therefore, pop_size = pop_size ms + pop_size id ) Step : Re-evaluate all of the selected pop_size chromosomes using maespan. The best chromosome v*(gen) in the current generation is compared with the best chromosome V* obtained until the last generation, and if v*(gen) is better than current V*, v*(gen) is substituted into V*, otherwise cnt = cnt+. Step 5: Construct the population for the next generation Pop(gen+) by merging the pop_size ms and pop_size id chromosomes newly generated. Step 6: If cnt = max_gen/50 (max_gen is the maximum generation), go to the Sub- evolution process: select pop_size/0 chromosomes from Pop(gen+) randomly, and transfer them to the sub-process. Step 7: If gen = max_gen, then stop, otherwise set gen is gen+, and go to Step. b. Sub-evolution process This process is carried out in order to provide high diversity to the chromosome population by employing the total job waiting time as the evaluation function. The total job waiting time can generate schedules whose structures are very different from schedule structures produced by using the maespan or the total machine idle time. The sub-evolution process is described as follows: Step s: Set generation sgen =. Receive the selected pop_size/0 chromosomes from Step 6 of main process, and mae them population spop(sgen). Step s: Execute PSX and NSM operations on spop(sgen) and generate offspring. Step s: Evaluate spop(sgen) and the generated offspring by the total job waiting time. Step s: Using the roulette wheel selection method, select pop_size/0 chromosomes, and let them be the population of the next generation spop(sgen+). Step s5: If sgen = max_gen/50, stop, go bac to Step 6 in the main process and replace pop_size/0 chromosomes of Pop(gen+) with spop(sgen+), otherwise let sgen = sgen+ and go to Step s. te that the sub-evolution process is introduced only to provide a variety of schedule structure, not to optimize the job waiting time-based schedule. Figure depicts the flow diagram of the symbiotic GA. V. NUMERICAL EXPERIMENTS AND DISCUSSIONS We tested our proposed symbiotic GA on famous benchmar JSPs, that is, Fisher and Thompson s 0 job-0 machine JSP (0X0FT) and 0 job-5 machine JSP (0X5FT) [7]. And to discuss the efficiency of the symbiotic co-evolution/sub-evolution mechanism, we compared the performance of our proposed symbiotic GA with performances of the GA using only maespan criterion in paper [] and another symbiotic GA employing only the co-evolution mechanism proposed in [5]. a. Evolutionary Environments We used the following evolutionary environments: the population size pop_size = 0 (GA), pop_size ms = 0, pop_size id = 0, totally pop_size = 0 (SyGA, SyGA), and the maximum generation max_gen = 5000 (commonly used). The best tuned crossover probabilities (p c ) and mutation probabilities (p m ) are summarized in Table. Table : Crossover probabilities and mutation probabilities for 0 0FT 0X0FT 0X5FT GA SyGA SyGA GA SyGA SyGA P C 0.6 0.8 0.8 0.6.0 0.6 P M 0. 0.7 0.9.0 0.8 0.7 GA: GA with only Maespan proposed in [] SyGA: Symbiotic GA with Maespan and Total Idle Time proposed in [5] SyGA: Symbiotic GA with Maespan, Total Idle Time and Total Waiting Time proposed here 0-7695-098-9/0 $0.00 (c) 00 IEEE
Proceedings of the th Hawaii International Conference on System Sciences - 00 b. Computational Results Table and Table show the best maespan, average maespan and standard deviation among 0 runs for 0X0FT and 0X5FT obtained by using the GA with only maespan criterion (GA), the symbiotic GA with maespan and total machine idle time (SyGA), and the symbiotic GA with maespan, total machine idle time and total job waiting time (SyGA), respectively. Table : Results for 0X0FT (optimal: 90) GA SyGA SyGA Best 966 97 90 Average 99.00 965.85 965.50 Std div 9.5 5.85 7.09 Table : Results for 0X5FT (optimal: 65) GA SyGA SyGA Best 0 89 78 Average 5.0.90.75 Std div. 5.5. c. Discussions In Tables and, the symbiotic GA proposed in this paper (SyGA) could provide the best maespan in Best for 0X0FT (in this case the global optimal schedule was obtained) and 0X5FT. In Average SyGA dominated both GA and SyGA for 0X0FT. However, in Standard deviation, SyGA dominated GA, but did not dominate SyGA for both problems. As mentioned above, SyGA employs both maespan and total machine idle time as the fitness, and SyGA uses maespan, total machine idle time and total job waiting time. Maespan provides evolution pressure with same direction as total machine idle time. On the contrary, total job waiting time supplies evolution pressure with opposite direction against maespan and total machine idle time. Consequently, sub-evolution process using total machine idle time in SyGA provides both better diversity for chromosome population and worse standard deviation for results. It is well nown that 0X5FT is more difficult than 0X0FT. In Table, because such difficulty of 0X5FT lets the effect of introducing the sub-evolution process strong, the high diversity of population maes both standard deviation and average worse. From above results, it can be supposed that the sub-evolution process introduced newly provide schedules whose structures are very different from them generated in main process, and evolving such schedules can provide drastic structural changes, i.e., high diversity of chromosome population. Such enough diversity has ability to generate some high quality schedules, however, it also maes some low quality schedules simultaneously. We must more carefully tune and select all of the parameter values, such as the crossover/mutation probabilities, the size of population, ratio of pop_size ms to pop_size id, the maximum generation in sub-process (max_gen/50 was used), the number of chromosomes transferred from the main-process to the sub-process (pop_size/0 was used), and so on. VI. DEVELOPING SOFTWARE SYSTEM FOR JSP BASED ON THE SYMBIOTIC GA We are developing a software system SYMGA/JSP for solving JSPs which is based on the symbiotic GA proposed in this paper. SYMGA/JSP consists of three components shown in Figure 5: () schedule generator (symbiotic GA), () schedule database and () graphical schedule viewer. Problem Data Generator (Symbiotic GA) (C Language) Database (MS Access) Data Data Figure 5: Structure of SYMGA/JSP System As shown in Figure 5, these three components, the schedule generator, the schedule database and the graphical schedule viewer are written in C Language, Microsoft Access and Visual C++ with Microsoft Foundation Class, respectively. The graphical schedule viewer has functions to show a schedule by using the Gantt chart (both machine-oriented and job-oriented), its problem data and the evolution process of fitness. Figures 6, 7, 8 and 9 depict graphical samples of outputs of the schedule viewer. The SYMGA/JSP will be integrated on an usual PC system. VII. CONCLUSIONS Graphical Viewer (V C++ with MFC) In this paper, we proposed a new symbiotic GA, in which single chromosome population is co-evolved with two inds of evaluation function, i.e., maespan and total machine idle time criteria, and sub-evolution process using total job waiting time is introduced to mae the chromosome population diverse. As the proposed method could provide very good solution (sometimes optimal), then the comparative experimental results showed robustness of the proposed method. However, we should modify the standard deviation and average of the computational results. We will tune all of the parameters very carefully for the modification. 0-7695-098-9/0 $0.00 (c) 00 IEEE
Proceedings of the th Hawaii International Conference on System Sciences - 00 Additionally, we introduced the construction of a software system SYMGA/JSP for job-shop scheduling based on the proposed symbiotic GA. And we showed some graphical examples to demonstrate the functions of SYMGA/JSP. ACKNOWLEDGMENT Finally, a part of this research was supported with the Basic Research Program (B)() (. 007), the Grant-in-Aid for Scientific Research by the Japan Society for the Promotion of Science. REFERENCES [] M. Gen, Y. Tsujimura and E. Kubota: Solving Job-shop Scheduling Problems by Genetic Algorithm, Proc. of 99 IEEE International Conference on SMC, pp.577-58 (99). [] R. Cheng, M. Gen and Y. Tsujimura: A Tutorial Survey of Job-Shop Scheduling Problems Using Genetic Algorithms: Part I. Representation, Computers and Industrial Engineering, Vol. 0,., pp.98-997 (996). [] Y. Tsujimura, M. Gen and R. Cheng: Improved Genetic Algorithms for Solving Job-shop Scheduling Problem, Engineering Design and Automation, Vol.,., pp.- (997). [] Y. Tsujimura, M. Gen and Y. Mafune: Relations between Evaluation Functions and -structures in GA-based Job-shop Scheduling, Technical Report of IEICE, AI99-, pp.7- (999). (in Japanese) [5] Y. Tsujimura, T. Sugimoto, Y. Mafune and M. Gen: A Genetic Algorithm for Job-shop Scheduling by Means of Symbiosis Mechanism, Proc. of the Third Australia-Japan Joint Worshop on Intelligent and Evolutionary Systems, Canberra, Australia, pp.88- (999). [6] M. Gen and R. Cheng: Genetic Algorithms and Engineering Design, John Wiley & Sons, New Yor (997). [7] H. Fisher and G. Thompson: Probabilistic Learning Combinations of Local Job-Shop Scheduling Rules, In Industrial Scheduling, J. Muth and G. Thompson eds., Prentice-Hall, pp.5-5 (96). Co-evolution Process Sub-evolution Process Stop Evaluate by Maeapan Select pop_size ms chromosomes Initialization gen, cnt 0 gen < max_gen Crossover Mutation Evaluate by Idle Time Select pop_size id chromosomes Mae population pop_size = pop_size ms + pop_size id Re-evaluate by Maeapan and Obtain v * ( gen) v * ( gen) is better than V * V * v * ( gen ) gen gen + cnt 0 cnt cnt + cnt < max_gen /50 Transfer pop_size Current Chromosomes Population Return pop_size /0 Chromosomes Selected Randmly to the Main and Replace Them with Chromosomes in the Main Population Sub-evolution Process Return to the Main Process sgen sgen < max_gen /50 Crossover Mutation Evaluate by Waiting Time Selection sgen sgen + Figure : Flow Diagram of the proposed symbiotic GA 5 0-7695-098-9/0 $0.00 (c) 00 IEEE 5
Proceedings of the th Hawaii International Conference on System Sciences - 00 Figure 6: An Example of the Machine-Oriented Gantt Chart Figure 7: An Example of the Job-Oriented Gantt Chart 6 0-7695-098-9/0 $0.00 (c) 00 IEEE 6
Proceedings of the th Hawaii International Conference on System Sciences - 00 Figure 8: An Example of the Input JSP Data Figure 9: An Example of the Evolution Process of Fitness 7 0-7695-098-9/0 $0.00 (c) 00 IEEE 7