A New Evolutionary Algorithm Based on Bacterial Evolution and Its Application for Scheduling a Flexible Manufacturing System

A new evolutionary computation algorithm, Superbug algorithm, which simulates evolution of bacteria in a culture, is proposed. The algorithm is developed for solving large scale optimization problems such as scheduling, transportation and assignment problems. In this work, the algorithm optimizes machine schedules in a Flexible Manufacturing System (FMS) by minimizing makespan. The FMS comprises of four machines and two identical Automated Guided Vehicles (AGVs). AGVs are used for carrying jobs between the Load/Unload (L/U) station and the machines. Experimental results indicate the efficiency of the proposed algorithm in its optimization performance in scheduling is noticeably superior to other evolutionary algorithms when compared to the best results reported in the literature for FMS Scheduling.


Introduction
Over the years, researchers suggest that nature is a great source for inspiration to both develop intelligent systems as well as provide solutions to complex problems.Evolutionary pressure forces living organisms to develop great expertise in fighting for food, territories and mates.Many of these skills and techniques have been imitated to develop optimization algorithms, and the evolution over a number of generations enhances the performance of an algorithm.In this work, a new nature-inspired algorithm, based on bacterial evolution, Superbug algorithm is proposed.
The algorithm is inspired by the behaviour of bacteria such as Staphylococcus aureus, Streptococcus, Enterococcus, Salmonella and E. coli.Several antibiotics were developed to cure infections by these microorganisms in the early 20 th century.It was discovered that many of these bacteria had developed resistance to the antibiotics over time.The increasing levels of antibiotic resistance and the emergence of epidemic strains of bacterial pathogens over the last decade (Enright et al. [7] and Livermore [9]) highlight the adaptability of bacteria and the remarkable speed of bacterial evolution.In the face of constant environmental challenges, the ability of bacteria to generate genetic variation is crucial for their survival.Bacterial genomes tend to evolve through several routes: Mutation to existing genes, DNA loss or rearrangement or horizontal transfer of genes from one bacterium to another (Ziebuhr et al. [17]). 1 Department of Production Engineering, National Institute of Technology, Tiruchirappalli 620 015, India.Email: acmouli89@gmail.com* Corresponding author Evolutionary computation has been applied to the scheduling of multiple CPU cores on a parallel computer, and has recreated known scheduling algorithms (Jaros et al. [8]).Of recent interest are bio-inspired approaches to manufacturing system design, including biomimetics, where computational systems mimic behaviours found in natural organisms.Examples of biomimetic approaches include mimicking the social behaviour of insect colonies (Truszkowski et al. [15]), flocking (Spector et al. [12] and Anthony [2]), and using the concept of chemotaxis to facilitate robust network routing.Two bio-inspired studies include the recent works (Babaoglu et al. [3,4] and Patel et al. [10]) inspired by the synchronization of firefly flashes.Swarm intelligence algorithms such as Bee algorithm were applied to schedule jobs for a machine (Pham et al. [11]).Chong et al. [6] utilized an efficient neighbourhood structure to search for feasible solutions and iteratively improve on prior solutions.Bilge and Ulusoy [5] presented a model for simultaneous scheduling of machines and material handling system in an FMS.This problem was approached using Genetic algorithms (GA) (Ulusoy et al. [16]).A new hybrid genetic algorithm composed of GA and heuristic for the simultaneous scheduling problem for minimization of makespan was presented (Abdelmaguid et al. [1]).A number of evolutionary techniques have been applied for scheduling different elements in an FMS, making it a convenient problem for testing new solution methodlogies.
The optimization of FMS schedules using nontraditional techniques was performed (Sreedhar Kumar et al. [13]) The problem of simultaneous scheduling of machines and two identical automated guided vehicles (AGVs) in an FMS using Sheep Flock Heredity algorithm was addressed (Subbaiah et al. [14]).In the current work, a new evolutionary algorithm based on bacterial evolution namely, Superbug algorithm is proposed in order to solve optimization problems.The algorithm is designed to enhance the diversity of the search domain by combining effective local and global search procedures.This helps in obtaining high quality solutions compared to other existing optimization algorithms found in the literature.

Superbug Algorithm
The primary mode through which a bacterium develops antibiotic resistance is through mutation.After mutation, a different gene sequence is generated, which attempts to survive the chemical action of the antibiotic.While this is similar to the evolution of other organisms, another technique used by bacteria is the Lateral gene transfer.In this, genes are transferred from one bacterium to another by cell to cell contact.This helps more bacteria acquire a drug resistant gene and enhance its chances of survival.The ability of the transformed bacterium is further improved by single point mutation, i.e. transferring a vulnerable portion of a gene to another location in the same gene sequence.
The resulting bacteria have better resistance to the antibiotic.They reproduce and multiply their numbers.After going through these stages of evolution several times, a bacterium would have accumulated several antibiotic-resistant genes.Such a bacterium is called a superbug.This evolution process has the capability to generate a large number of bacteria with high antibiotic resistance compared to the present GA procedures.

Genetic Mutation
When the bacterium is exposed to the antibiotic, its normal metabolic processes are suppressed.This forces it to try to survive by mutating itself.Mutation rearranges part of the gene sequence so that it becomes immune to the antibiotic.The probability of a bacterium undergoing mutation depends on the levels of exposure to antibiotic and the extent of suppression of its metabolic activities.The mutation takes place in two levels, inverse mutation and pairwise interchange mutation (Subbaiah et al. [14]).

Lateral Gene Transfer
After undergoing mutation, a population of bacteria with varying levels of fitness (in terms of resistance to the antibiotic) emerges.A bacterium with higher fitness tries to increase its fitness by engaging contact with another bacterium having a lower fitness value.A random gene is transferred from the bacterium having lower fitness to the bacterium with higher fitness.This helps in transferring some of the drug resistant strains from one bacterium to another, thereby improving the fitness level considerably.

Single Point Mutation
This technique is employed by the bacterium in the final stage of its evolution.A single gene is transferred to a random location in the bacterium itself, i.e. mutation takes place in a single point.This is called single point mutation or point mutation.

Reproduction
The set of bacteria which have acquired drug resistance tend to survive and reproduce.The next generation of bacteria, if exposed to the antibiotic, will employ the same techniques to further improve their resistance.After several generations, a set of bacteria with resistance to several drugs is developed, which is called a superbug.
In the current work, the algorithm is tested on a FMS scheduling problem.The objective is to minimise the makespan which is taken as the fitness function.

FMS Description
An FMS is considered in which there are four machines having Computer Numerical Control machines (CNCs), each with an independent and self-sufficient tool magazine, one Automatic Tool Changer (ATC) and one Automatic Pallet Changer (APC) and with multiple Automated Guided Vehicles (AGVs) as material handling devices.The problem of simultaneous scheduling of machines and AGVs is addressed.We have considered 4 different layouts and 10 job sets consisting of 1-8 different job sets and operations on machines to be performed.
The objective is to minimize makespan.An iterative procedure is developed in which a new machine schedule is generated using the superbug algorithm after each iteration.Figure 1 illustrates the different phases applied to every generated sequence.

Assumptions
The types and number of machines are known, there is sufficient input/output buffer space for each machine's machine loading allocation of tools to machine assignment of operation to machine are

Input Data
The input data that is, travelling time matrix and the layouts taken from Subbaiah et al. [14] are shown in Tables 1-4 and job sets for the problem taken from Bilge and Ulusoy [5] are shown in Table 5.The L/U station serves as a distribution centre for parts not yet processed and as a collection centre for parts finished.All vehicles start from the L/U station initially.

Scheduling of FMS
Machines are scheduled based on the operation sequence derived by the algorithm.Initially one of the AGVs carries jobs from the L/U station to the respective workstations where the first operations are scheduled.For subsequent operations, whichever AGV is available reaches the machine where the previous operation has been completed, picks up the job and carries it to the machine scheduled for the next operation.The flowchart given in Figure 2 shows the scheduling methodology adopted for this problem.The equations used for computing the job completion time and makespan are given in Eqs.(3)   For example, Job set1 and Layout 1 are considered for scheduling.For scheduling the FMS and calculating the makespan, initially continuous numbers are given for each of the operations as shown in Table 6.These numbers are used to generate 10 initial random sequences, while obeying the precedence relation, i.e., the operations of a particular job must be in increasing order.

Calculation of Makespan for a Particular Operation Sequence
The following initial sequence is generated randomly, using the numbers assigned to the operations in Table 6.The processing time and travelling time matrix shown in Table 1-5.The makespan of the job set when scheduled according to the above sequence is calculated as given in Table 7.The first column denotes the Job number and the operation for that job needed to find the machine and processing time for that operation.The sequence of these operations is determined by the string of numbers generated by the algorithm.The second column indicates the machine used for this Job and operation, as given in Table 5.The third column specifies the AGV assigned to transport this job.This is determined by computing the time each AGV will take to reach the job and deliver it to its destination, based on its previous assignment and the travel times between machines (Tables 1, 2, 3 & 4).The AGV which could deliver the job at the earliest, based on this calculation, is assigned.The column 'Travel time' denotes the time taken by the AGV to deliver the job while the column 'Job reach' specifies the time the job reaches its intended machine.'Job ready' shows the time the job is taken up for processing (same as 'Job reach' if the machine is free, else some delay occurs).'Job completion' is the time the job will get completed and be ready for next operation.This value is arrived at by adding the processing time (Table 5) to the 'Job ready' time.

Flowchart of Superbug Algorithm
Figure 3 shows the flow chart of the proposed Superbug algorithm.The first step is initializing a population composed of randomly generated individuals covering a wide range of solution spaceand measuring the fitness of the individuals.The subsequent stages include the mutation and the gene transfer where unfit individuals get replaced by fit ones.These operations are repeated for several generations until the termination criteria are met.

Steps in Superbug Algorithm
The algorithm consists of the following steps: 1.Generation of initial population 2. Mutation of the bacteria (inverse and pairwise interchange mutation) 3. Gene transfer between bacteria to enhance fitness 4. Single point mutation of the modified bacteria

Generation of Initial Population
A set of ten initial sequences are randomly generated, as given in Table 8.

Mutation
The mutation consists of two steps, inverse mutation and pairwise interchange mutation: (a) Inverse mutation In a sequence, two positions i and j are randomly selected.The portion of the sequence between these two positions is inverted to get a new mutated sequence.The new sequence represents the sequence of operations after mutation.If the makespan of the mutated sequence is less than the makespan of the original sequence, the old sequence is replaced by the new sequence.

Gene Transfer
Two sequences are needed for gene transfer.The sequence having the best makespan (lowest) in the given population is chosen as donor.The sequence with the second best makespan is the receptor.The selection is done this way to maximize the chances of the modified sequence giving an improved makespan.A random set of operations is identified in the donor sequence.The order of operations in the identified set is used to replace the same operations in the other sequence.The resulting sequence replaces the original sequence if the makespan of the resulting sequence is less than that of the previous one.

Single Point Mutation
A random operation is selected in the sequence and moved to another random position in the sequence.If the makespan of the resulting sequence is less than that of the previous one, it replaces the previous sequence.The set of sequences obtained from the above operations is sorted by their makespan values.The

Selection of Parameters for Superbug Algorithm
The algorithm has the following parameters to be defined.
(1) Size of bacteria population (S) (2) No. of generations for which the algorithm is applied (N) (3) Probability of inverse mutation and pairwise interchange mutation (Pip) (4) Length of gene transferred from one bacterium to another (Lg) (5) Probability of gene transfer taking place (Pg) (6) Probability of bacteria undergoing single point mutation (Ps) An analysis is performed by assigning a set of values to each of the above parameters.The performance of the algorithm under each set of parameters is examined to arrive at an appropriate set of parameters that will provide optimal solutions to the problems considered.
The population size is important here as the bacteria will transfer genes to one another to improve their fitness.Keeping the population too low will give insufficient diversity of solutions, and a population too high will reduce the chances of constructive gene transfer.The number of generations is chosen in such a way that the results produced are reasonable.Probabilities of the inverse and pairwise mutations are kept low so that not too many unfit sequences are produced.Otherwise, due to the precedence restrictions in scheduling many of the mutated sequences will become unfit.For single point mutation, the probability is higher than inverse and pairwise mutation since the mutation is self-induced.
Table 9 shows the results of the analysis done on the parameters of the Superbug algorithm.

Mean makespan
Figure 4 shows the minimum makespan and mean makespan given by the algorithm when run with the above parameters.

Results and Discussions
The Superbug algorithm is used for generating optimal schedules for each problem by minimizing the makespan.The coding has been developed using MATLAB.A series of trial experiments are used to estimate the optimal parameters for the algorithm.Every instance of a problem is executed for 10 runs.Any alteration of the above parameters led to convergence at higher objective values than while using the optimal parameters.From the convergence graph for the algorithm (Figure 4) it is observed that, even as the minimum makespan is obtained in few generations, the mean makespan converges only after several hundred generations.This indicates the diversity of the solutions in the search space.
The results obtained from the algorithm for different problem sets are given in Table 10.The values of makespan obtained at convergence are compared with different algorithms.From Table 10, 36 out of 40 problems give better results using Superbug algorithm when compared with other standard algorithms such as Sliding Time Window (STW), Abdelmaguid Genetic Algorithm (AGA), Ulusoy Genetic Algorithm (UGA), Proposed Genetic Algorithm (PGA) by Subbaiah et al. [14] and Sheep Flock Heredity Algorithm (SFHA)

Conclusion
The proposed algorithm is found to be robust for the test problems and performs exceedingly well in majority of the problems considered.The algorithms present a good number of diversified solutions for the set of problems considered.The diversity in the set of solutions after every generation is preserved by a combination of local and global search procedure.
The main contribution of this work is to prove the superiority of solutions for the given scheduling problem found by this algorithm as compared to other optimization algorithms.
The future research includes application of this algorithm for single or multiple objectives case considering different criteria like mean flow time, total tardiness, and maximum tardiness.The proposed algorithm can be applied to the scheduling problems in various manufacturing systems such as cellular manufacturing.Furthermore, it is possible that the proposed algorithm can be applied to optimize multi machine environment and the dynamic JSSP.

Figure 1 .
Figure 1.Phases of the given approach made pallet and other necessary equipment are allocated.AGVs are used for material transfer between machines and also between L/U station and machines.The speed of AGV (40 m/min), the distance between the two machines and the distance between loading/ unloading machines are known.

Figure 2 .Figure 3 .
Figure 2. Scheduling flowchart Pairwise interchange mutationTwo positions are i and j randomly selected in the sequence.The operations in these positions are interchanged to obtain the mutated sequence.The makespan of the new sequence is compared with the makespan of the parent sequence.The sequence having the lower makespan value is stored and used for next stage operation.

Table 1 .
Travel time matrix for Layout 1

Table 2 .
Travel time matrix for Layout 2

Table 3 .
Travel time matrix for Layout 3

Table 4 .
Travel time matrix for Layout 4

Table 7 .
Calculation of makespan

Table 9 .
Parameter analysis