Next Article in Journal
Particle Flow Simulation of the Strength and Failure Characteristics of a Layered Composite Rock-Like Sample with a Single Hole
Next Article in Special Issue
Flattening Layer Pruning in Convolutional Neural Networks
Previous Article in Journal
Top–Bottom Condensation Model: Symmetries and Spectrum of the Induced 2HDM
Previous Article in Special Issue
Dynamics of Fuzzy-Rough Cognitive Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Hybrid Discrete Bacterial Memetic Algorithm with Simulated Annealing for Optimization of the Flow Shop Scheduling Problem

1
Institute of Information Science, University of Miskolc, 3515 Miskolc, Hungary
2
Department of Information Technology, Széchenyi István University, 9026 Győr, Hungary
3
Department of Telecommunication and Media Informatics, Budapest University of Technology and Economics, 1111 Budapest, Hungary
*
Author to whom correspondence should be addressed.
Symmetry 2021, 13(7), 1131; https://doi.org/10.3390/sym13071131
Submission received: 19 April 2021 / Revised: 31 May 2021 / Accepted: 11 June 2021 / Published: 24 June 2021
(This article belongs to the Special Issue Computational Intelligence and Soft Computing: Recent Applications)

Abstract

:
This paper deals with the flow shop scheduling problem. To find the optimal solution is an NP-hard problem. The paper reviews some algorithms from the literature and applies a benchmark dataset to evaluate their efficiency. In this research work, the discrete bacterial memetic evolutionary algorithm (DBMEA) as a global searcher was investigated. The proposed algorithm improves the local search by applying the simulated annealing algorithm (SA). This paper presents the experimental results of solving the no-idle flow shop scheduling problem. To compare the proposed algorithm with other researchers’ work, a benchmark problem set was used. The calculated makespan times were compared against the best-known solutions in the literature. The proposed hybrid algorithm has provided better results than methods using genetic algorithm variants, thus it is a major improvement for the memetic algorithm family solving production scheduling problems.

1. Introduction

This paper investigates whether a new meta-heuristic proposed by the authors, an improved and modified version of the discrete bacterial memetic evolutionary algorithm, is capable of solving the flow shop scheduling problem (FSSP) in an efficient way, possibly in a more efficient way than other approaches proposed by other authors. FSSP was first published in 1954 by Johnson [1]. Although there exist exact solution algorithms, they are not feasible for the large-sized scheduling problem, as FSSP is an NP-hard problem. Many researchers have addressed the problem since its introduction. The overview of the proposed solution is as follows.
Wei et al. [2] introduced a hybrid genetic simulated annealing algorithm, which combines the individual steps and operators of the simulated annealing and the genetic algorithm (HSGA). In their solution, the genetic algorithm (GA) finds a new optimal solution, and the simulated annealing attempts to improve that solution. To compare their solution, the widely used Taillard data set [3] was used, which is a reference benchmark for FSSP. The Taillard data set contains benchmark data between 20 and 500 jobs and between 5 and 20 machines for the flow shop scheduling problem. The following state-of-the-art algorithms were compared in [2]: memetic algorithm, iterated greedy algorithm with a referenced insertion scheme, hybrid genetic algorithm (i.e., GA with improved local search method that searches in a larger neighborhood), improved iterated greedy algorithm (using Tabu mechanism to escape from local minima), and discrete self-organizing migrating algorithm. Their hybrid genetic simulated annealing algorithm proved to be the best for the test data set.
Another hybrid genetic algorithm, which combined two local search methods with GA, was introduced by Tseng et al. [4]. Their hybrid genetic algorithm is compared with the primitive genetic algorithm, genetic algorithm+ insertion search, and genetic algorithm+ insertion search with cut-and-repair. Their algorithm found better results than the reference benchmark problems.
The results for the flow shop problem were also compared with the following algorithms: Johnson’s algorithm, Nawaz–Enscore–Ham (NEH) heuristic, iterated local search algorithm, and iterated greedy algorithm. Based on the paper of Belabid et al. [5], the NEH heuristic gives better results than the others.
The flow shop scheduling problem has been solved with a relatively new algorithm called the flower pollination algorithm by Qu et al [6]. Compared with other heuristic algorithms, such as Tabu-based reconstruction strategy (TMIIG), discrete particle swarm optimization algorithm (DPSO), improved iterated greedy algorithm (IIGA), effective hybrid particle swarm optimization (HPSO), hybrid differential evolution approach (HDE), and genetic algorithm (GA), the flower pollination approach was the most efficient one.
An invasive weed optimization (IWO) algorithm was introduced in [7] for FSSP. The authors also used the Taillard benchmark to test the efficiency of their algorithm. The algorithm was compared with Nawaz–Enscore–Ham (NEH) algorithm. Their solution obtained better makespan than the NEH algorithm for every instance of 12 different scale benchmarks. It has proved to be better in terms of both final accuracy and convergence. The reason is that the global exploration in [7] based on normal distribution is better than the other algorithms.
Simulated annealing is another efficient optimization algorithm; there are several articles on the topic that solve the flow shop scheduling problem with this algorithm, for example, Ogbu and Smith [8], Lin et al. [9], and Aurich et al. [10].
The following section formulates the FSPP problem itself, and then an overview is given on the state-of-the-art of approximate solving algorithms. Next, the proposed new memetic algorithm is presented, which may be considered as a further development and improvement of the discrete bacterial memetic evolutionary algorithm, an approach that has already been successfully applied to the solution of other discrete NP-hard problems. The authors executed some benchmark-based tests and compared the results with the algorithms discussed in the overview of the state-of-the-art. The table of the results with comparisons and explanations and, finally, some concluding notes are presented in the last section.

2. Formulation of the Flow Shop Scheduling Problem

In the case of the flow shop scheduling problem [2], n jobs and m machines are given with the following constraints: (1) The jobs have the same processing route. (2) Each job must be run on all machines exactly once. (3) All jobs and machines must be ready to work at time zero. (3) All jobs have m processing steps. (4) Neither machines nor jobs have priority. (5) A single machine can do a single job at a time. (6) If a job is started on a machine, no process can interfere. During processing, all jobs must follow the first in–first out (FIFO) rule. The mathematical model of the flow shop scheduling problem can be written in the following way:
  • J = {1, 2, …, n}: Set of jobs
  • M = {1, 2, …, m}: Set of machines
  • pi,j: processing time of job i on machine j
  • Si,j starting time when job i is processed on machine j
  • Ci,j finishing time when job i is processed on machine j
  • π = {π1, π2, …, πn} the job sequence
  • Cmax(π): the makespan of a job sequence
The objective function is the minimization of the makespan. Makespan is the overall length of finishing the job sequence. The objective function can be written in the following way:
(Cmax(π))→min
where the following conditions must be met:
(1)
A job can only be processed by one machine at a time:
If Xti,j > 0 then pi,k = 0 ∀k∈ [1, 2, …, n], k ≠ i
(2)
A machine can only process a single job at a time:
If pi,j > 0 then pk,j = 0 ∀k∈ [1, 2, …, m], k ≠ j
(3)
The next job cannot start until the current job is completed on the given machine:
Ci,j ≤ Si+1,j
(4)
If machine j + 1 is not ready, the job will delay at machine j until machine j + 1 will be free:
Ci,j ≥ Ci−1,j+1
(5)
For any job i, the completion time is the starting and processing time on machine j:
Ci,j = Si,j + pi,j
(6)
The makespan of the schedule is the time when the last job finishes on the last machine:
Cmax(π) = Cπn,m

Benchmark Data Sets

To compare the efficiency of flow shop scheduling problems, researchers use benchmark data sets. In this paper, the Taillard data set will be used. It consists of 120 benchmark instances. It also provides the best-known upper bounds for the makespan criterion. There are other benchmark data sets provided by Carlier (8 instances) [11], Heller (2 instances) [12], and Revees (21 instances) [13]. These are smaller problems that are straightforward to solve by simple algorithms.
There are two significant indices for measuring the performance of an algorithm. The first one is the solution quality, which can be represented by relative percentage deviation (RPD) over the best-known upper bound. The second important indicator is running time (tr), which is counted until the cycle taken to reach the last improvement. In this paper we had no investigation into running time.

3. The Family of Bacterial Evolutionary Memetic Algorithms

Bacterial evolutionary algorithm (BEA) is an evolutionary computing algorithm, which was inspired by microbial evolution [14].
BEA is inspired by the interesting process of bacterial recombination. The algorithm uses two operators, bacterial mutation and gene transfer. The first step is to generate an initial population. Then, those two genetic type operations are employed to create new individuals and evaluate them by a fitness function. These operations are repeated until the stop condition.
As the first implementation, the bacterial evolutionary algorithm was only used for finding the optimal parameters of a fuzzy rule-based system. Over the years, it turned out to be efficiently applicable to many other optimization tasks, e.g., interactive nurse scheduling optimization problem [15], automatic data clustering [16], and three-dimensional bin packing problem [17].
According to the early definitions, memetic algorithms are modified genetic algorithms that use an additional local search operator; see Moscato et al. [18]. The idea of combining the BEA with local search came first when an attempt was taken to improve the approximation and optimization capability of the approach when estimating the parameters of fuzzy rule bases. As the latter may be interpreted as black boxes generating input–output functions, the scope of potential benchmark problems was extended to several additional areas, beyond the examples the original Nawa and Furuhashi paper had discussed. Mechanical, chemical, and electrical engineering problems were tested along with transcendental mathematical functions, while the local search applied was a second-order gradient-based method (the Levenberg–Marquardt algorithm). The results turned out to be better than the original ones, even better than any other approach applied in the literature for optimizing the parameters of trapezoidal fuzzy membership functions in fuzzy rule-based “function generators [19]. Later, first-order gradient methods were also tested as local search algorithms, and the results were promising [20].
In the next step, the idea of bacterial memetic evolutionary algorithm was tested on discrete, permutation-based problems, where, as a matter of course, the local search applied was also a discrete process. The first proposed operator family was the n-opt local search, and after some simulations, it was narrowed to the subsequent application of the be 2-opt or 3-opt operators, as when applying n 4 , the overhead time proved to be too large, thus the efficiency of the algorithm was decreased. The 2-opt operator was first applied to the traveling salesman problem [21], where two edges are exchanged in the graph. 3-opt [22] is similar to the 2-opt operator; the only difference is that, here, three edges are exchanged in one step.
The pseudo-code of the DBMEA is given in Algorithm 1 [23,24]. The algorithm has five input parameters, these are as follows: Nind, Nclones, Ninf, Iseg, and Itrans; Nind is the number of individuals in the population, Nclones is the number of clones in the bacterial mutation, Ninf is the number of infections in the gene transfer, Iseg is the number of segments in the bacterial mutation, and Itrans is the length of the gene transferred part. Step 1 generates an initial population. Step 2 is the application of the bacterial mutation. The third step is the local search (also called as the memetic step). Local search tries to improve on a particular solution (by producing neighbor solutions) until it finds a better neighbor solution. The algorithm stops when it can no longer find a better individual in the neighborhood, i.e., it finds a local optimum. Then, the gene transfer operation is performed. The algorithm repeats steps 2–4 until the termination condition triggers. Then, it returns the best solution.
The following notation is used:
  • x1: the actual gene transferred solution,
  • xbest: the best solution found so far,
  • f: fitness function,
  • Nind: the number of individuals.

3.1. Discrete Bacterial Memetic Evolutionary Algorithm

Algorithm 1 Discrete Bacterial Memetic Evolutionary algorithm
1:BEGIN PROCEDURE DBMEA (Nind, Nclones, Ninf, Iseg, Itrans)
2:Step 1: Generate initial population P.
3:WHILE (termination criteria is not met) DO
4:Step 2: Bacterial mutation (Population, Nclones Iseg)
5:Step 3: local search
6:Step 4: x1 = Gene transfer (Population, Ninf, Itrans)
7:IF f(x1) < f(xbest) THEN DO
8:Step 5: xbest = x1
9:END IF
10:END WHILE
11:RETURN xbest
12:END PROCEDURE

3.2. Bacterial Mutation

The bacterial mutation [23] operates throughout the population by performing special mutation operations on each individual (see Algorithm 2). As input parameters, the initial population, the number of clones (Nclones), and the length of the segment (Iseg) are passed. Steps 1–6 are performed on each element of the population. A certain number of clones (Nclones) are made from each bacterium; see Figure 1. The original bacterium is broken down into segments. As the algorithm shows, it happens with high probability for coherent segments, and with low probability for loose segments. During both the coherent and loose segment operations, we go through each segment. We select a non-mutated segment. First, the elements of the segment are inverted to form the first clone. Then, we randomly change the elements of the segment to create other clones. This way, we generate a total of Nclones clones. At the end of the mutation, the best clone takes the place of the original bacterium.
Algorithm 2 Bacterial Mutation
1:BEGIN PROCEDURE Bacterial mutation (Population, Nclones, Iseg)
2:FOR i to size(Population) DO
3:Step 1. Create a random number between 0 and 1
4:Step 2. Get the ith element of the population: p = Population(i)
5:Step 3. create Nclones clones of p and a random number r [0..1]
6:IF (r ≤ COHERENT_LOOSE_RATE)
7:Step 4. cut p into coherent segments with Iseg length
8:ELSE
9:Step 5. cut p into loose segments with Iseg length
10:END IF
11:Step 6. replace Population(i) with the best set of the clones and p
12:END FOR
13:RETURN Population
14:END PROCEDURE
In the case of a coherent segment, the segments are arranged one after the other (Figure 2). In the case of a loose segment, the elements of the segments are not adjacent (Figure 3).

3.3. Gene Transfer

The gene transfer [23] operates on the whole population. At first, the elements of the population are ranked based on the fitness values. Then, the population is divided into two parts, a superior and an inferior part, according to the fitness values. As the next step, the gene transfer operator is executed Ninf times with a randomly selected element from the superior and one from the inferior part. During the gene transfer operation, a randomly selected segment with length Itrans is transferred from the superior bacterium to the inferior bacterium, so that there are no duplicates in the thus established new bacterium. This process is illustrated in Figure 4. Algorithm 3 presents the process.
Algorithm 3 Gene transfer
1:BEGIN PROCEDURE Gene transfer (Population, Ninf, Itrans)
2:Step 1. sort the Population according to the fitness values
3:Step 2. divide the population into superior and inferior parts based on the fitness values
4:FOR i to Ninf DO
5:Step 3. selecting a random bacterium from the superior part (psource)
6:Step 4. selecting a random bacterium from the inferior part (pdestination)
7:Step 5. selecting a random segment from psource with Itrans length
8:Step 6. copying the segment into pdestination bacterium in a random position
9:Step 7. eliminating the duplicates in pdestination
10:END FOR
11:RETURN Population
12:END PROCEDURE

4. The Simulated Annealing Algorithm

Simulated annealing (SA) [25] operates on a single solution rather than on a whole population. SA first produces a random new neighboring solution. If this neighbor is better than the current solution, it accepts it deterministically as new current solution. If it is not better, the algorithm still may decide probabilistically whether to keep the current one, or replace it with the new neighboring one. The input parameter of the algorithm is the “temperature” (T), which determines the probability of accepting worse solutions in the algorithm. The temperature continuously decreases; it is determined by the temperature control parameter (α). Algorithm 4 illustrates the SA algorithm.
Algorithm 4 Simulated Annealing
1:SIMULATED ANNEALING
2:BEGIN PROCEDURE Bacterial mutation (T,α,L)
3:WHILE termination condition is not met DO
4:WHILE L processing length is not reached DO
5:Step 1. Create the neighbor (SN) of the current solution (SC)
6:Step 2. Calculate ∆E as follows: ∆E = E(SN) − E(SC)
7:IF ∆E > 0 THEN
8:Step 3. SC = SN
9:ELSE IF P(E(SN), E(SC), T) > rand[0, 1]) THEN DO
10:Step 4. SC = SN
11:END WHILE
12:Step 5. Reduce temperature (T)
13:END WHILE
14:END PROCEDURE

5. A Novel Algorithm: A Hybrid Discrete Bacterial Memetic Evolutionary Algorithm with Simulated Annealing

We could see in the DBMEA pseudo-code that the algorithm uses discrete local search. The originally proposed algorithm applies the 2-opt and 3-opt methods, which operate on individual elements of the population. To improve the efficiency of the local search in the solution of the particular problem on hand, we propose now to use simulated annealing for local search instead. This latter accepts a worse new solution with some probability, and this way allows getting out of small local optimum areas. In addition, we have introduced a mortality rate (Nmort). It practically means that certain elements of the population are to be dropped and replaced by randomly generated new individuals. The pseudo-code of our algorithm is shown in Algorithm 5, where Nind is the number of individuals; Nclones is the number of clones; Ninf means the number of times the gene transfer operator is executed; Iseg is the length of the segment; Itrans is the length of the segment, which is transferred from the source to the destination bacterium; T is the temperature, which is decreasing along the iterations by α; and L is the iteration control parameter.
Algorithm 5 The Discrete Bacterial Memetic Evolutionary Algorithm with Simulated Annealing
1:BEGIN PROCEDURE DBMEA_SA (Nind, Nclones, Ninf, Iseg, Itrans, T, α, L, Nmort)
2:Step 1: Generate initial population P.
3:WHILE (termination criteria is not met) DO
4:Step 2: Bacterial mutation (P, Nclones, Iseg)
5:FOR i IN Population DO
6:Step 3: Simulated annealing (P(i), T, α, L)
7:END FOR
8:Step 4: Gene transfer (P, Ninf, Itrans)
9:Step 5: Sort the population, based on the fitness values
10:Step 6: Generate new elements in the population in place of the worst Nmort elements
11:Step 7: Store the best solution
12:END WHILE
13:RETURN best solution
14:END PROCEDURE

6. Experimental Results

The proposed hybrid algorithm was implemented for a personal computer with 8th generation Intel i7 CPU and 16 GB memory. The Typescript programming language was used, as it allowed the ability to quickly implement the algorithm variants in a portable way. The authors ran the tests on a Windows 10 operating system. Full source codes are available at [26]. To compare the results of the new method with other ones known from the literature, the Taillard benchmark dataset [3] was used. There are 10 individuals for each benchmark data type in the set. Table 1 contains the makespan values calculated by the following algorithms.
  • DBMEA + SA: Discrete Bacterial Memetic Algorithm + Simulated Annealing;
  • IWO: Invasive Weed Optimization [7];
  • HGSA Hybrid Genetic Simulated Annealing [2];
  • HGA: Hybrid Genetic Algorithm [4];
  • HMM-PFA: Hormone Modulation Mechanism Flower Pollination Algorithm [6].
In the test we carried out, twelve different problem sizes were selected; these can be found in the column “n × m: job and machine numbers”, namely, 20 × 5, 20 × 10, 20 × 20, 50 × 5, 50 × 10, 50 × 20, 100 × 5, 100 × 10, 100 × 20, 200 × 5, 200 × 10, and 200 × 20. The instance names run from Ta001 to Ta120. Table 1 shows five instances for each problem set, while the full table with comparisons of the results applying the five approaches mentioned above is published also in [26].
For the evaluation of the obtained optima, it is worthwhile to compare both our own results and the ones obtained by other authors. There is an estimation method for an absolute theoretic lower bound, which is proposed in [3] and can be calculated as follows: let b i the minimum amount of time before machine starts working and a i is the minimum time until it remains inactive after the end of the operation and let T i be its total processing time:
b i = m i n j k = 1 i 1 p k j
a i = m i n j k = i + 1 m p k j
T i = j = 1 n p i j
Let Cmax denote the optimal makespan time; it must be greater or equal to the maximum between the minimum of time required by the machines and the minimum of time required each job. This value is called “lower bound”, and Table 1 displays this theoretical minimum in the third column:
L o w e r   b o u n d = m a x max i   b i + a i + T i , m a x j i = 1 m p i j C m a x
Our hybrid DBMEA + SA algorithm ran within a reasonably short time, even though no direct measurements were done. In the case of some large instances, however, the running time exceeded the limitation of the available computer resources. Those cases are indicated in Table 1 by n/a entries. Our algorithm always found a better or equal result compared with all other approaches in the literature. It found the best-known solution in 9 cases out of 120. In a further 56 cases, the deviation from the optimal solution was less than 1%; in the remaining 52 cases, the difference was between 1% and 3%. In three cases, the running time exceeded the set limit. Where the algorithm did not find the best-known solution, it got very close to it. Compared with all other algorithms published by other authors, as mentioned above, the proposed new algorithm provided much better results in all cases.

7. Conclusions

There is an interesting symmetry–asymmetry issue when solving complex problems, setting up models for complex systems, and developing algorithms for search and optimization in them. In this paper, the highly complex and mathematically intractable flow shop scheduling problem is in one pan of the scale, while in the other, the new modified discrete bacterial memetic evolutionary algorithm (DBMA) is found. By proper weighing of the costs, namely, the error in the accuracy of the optimization in one pan and the need for resources, especially, the running time of the optimization meta-heuristics in the other one must be brought to equilibrium, this way generating a symmetry in the solution. The exact position of the symmetrical (balanced) solution can, however, be calibrated by the designer of the solution, thus it may fit the application context of the concrete problem, considering the available resources and the expected quality of the quasi-optimum found. Thus, the asymmetric role played by problem to solve and model/algorithm for solution must be balanced and, that way, the whole problem–solution complex must be brought in a symmetrical configuration.
In our approach, there is, however, another aspect of the symmetry–asymmetry concept present. Memetic algorithms consist of two essential components, the “outer” shell that is an evolutionary or population based global searcher, and the “inner” core that is a local searcher, whether traditional gradient based, or exhaustive search type, respectively; or, as in the novel algorithm proposed in this paper, another meta-heuristic method. The two components must also form a symmetric combination in the above sense: the two must be in proper balance of resource intensity and need. Many results have shown that too much local search will slow down the whole optimization procedure, while too little (compared to the outer global search) may lead to ever randomly wandering attempts to approach the optimum, where even the most efficient local search can only produce a local optimum. We trust that, in this novel algorithm, a very efficient and well balanced, let us say, symmetric enough, solution for the combination of the two components of the memetic algorithm was found.
In our paper, the DBMA was very successfully applied for the approximate solution of other, similarly NP-hard discrete problems. Namely, the original DBMA with n-opt type local search method was developed for TSP problems. We found, however, that this local search provided relatively poor results for solving the flow shop scheduling problem. In the proposed new and improved algorithm, we have replaced the local search by the simulated annealing algorithm, a method that has been applied with some success itself for solving similar tasks. We found that this hybrid DBMEA and SA algorithm became unambiguously more efficient, compared with all other population-based metaheuristic approaches proposed by other researchers. The authors calculated the make span times for a known benchmark data set and compared the results with the algorithms in other papers as well as with the best known solutions (it should be clearly stated that the optimal solution cannot be calculated owing to the size of the problem, so the best known published makespan times were used as the basis of the comparison). The proposed new algorithm indeed over-performed all the state-of-the-art algorithms. The calculated makespan times were very close to the best known solutions, while the computing time still remained reasonable, even on a standard personal computer. So, the proposed algorithm has the capability to so far most efficiently solve large-scale FSPP problems.

Author Contributions

Conceptualization, L.T.K. and K.N.; methodology, K.N. and A.A.; software, K.N. and A.A.; validation, O.H.; formal analysis, O.H. and A.A.; investigation, A.A. and K.N.; resources, A.A.; data curation, A.A. and K.N.; writing—original draft preparation, A.A. and O.H.; writing—review and editing, A.A., O.H., L.T.K. and K.N.; visualization, A.A.; supervision, L.T.K. and K.N.; project administration, O.H.; funding acquisition, L.T.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research is supported by the National Office of Research, Development, and Innovation grant NKFIH K124055.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are openly available in GitHub at https://doi.org/10.5281/zenodo.4635757 (accessed on 17 April 2021).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Johnson, S.M. Optimal two-and three-stage production schedules with setup times included. Nav. Res. Logist. Q. 1954, 1, 61–68. [Google Scholar] [CrossRef]
  2. Wei, H.; Li, S.; Jiang, H.; Hu, J.; Hu, J. Hybrid genetic simulated annealing algorithm for improved flow shop scheduling with makespan criterion. Appl. Sci. 2018, 8, 2621. [Google Scholar] [CrossRef] [Green Version]
  3. Taillard, E. Benchmarks for basic scheduling problems. EJOR 1993, 64, 278–285. [Google Scholar] [CrossRef]
  4. Tseng, L.Y.; Lin, Y.T. A hybrid genetic algorithm for no-wait flowshop scheduling problem. Int. J. Prod. Econ. 2010, 128, 144–152. [Google Scholar] [CrossRef]
  5. Belabid, J.; Aqil, S.; Allali, K. Solving Permutation Flow Shop Scheduling Problem with Sequence-Independent Setup Time. J. Appl. Math. 2020, 2020, 7132469. [Google Scholar] [CrossRef]
  6. Qu, C.; Fu, Y.; Yi, Z.; Tan, J. Solutions to no-wait flow shop scheduling problem using the flower pollination algorithm based on the hormone modulation mechanism. Complexity 2018, 2018, 1973604. [Google Scholar] [CrossRef] [Green Version]
  7. Zhou, Y.; Chen, H.; Zhou, G. Invasive weed optimization algorithm for optimization no-idle flow shop scheduling problem. Neurocomputing 2014, 137, 285–292. [Google Scholar] [CrossRef]
  8. Ogbu, F.A.; Smith, D.K. The application of the simulated annealing algorithm to the solution of the n/m/Cmax flowshop problem. Comput. Oper. Res. 1990, 17, 243–253. [Google Scholar] [CrossRef]
  9. Lin, S.W.; Cheng, C.Y.; Pourhejazy, P.; Ying, K.C. Multi-temperature simulated annealing for optimizing mixed-blocking permutation flowshop scheduling problems. Expert Syst. Appl. 2020, 165, 113837. [Google Scholar] [CrossRef]
  10. Aurich, P.; Nahhas, A.; Reggelin, T.; Tolujew, J. Simulation-based optimization for solving a hybrid flow shop scheduling problem. In Proceedings of the 2016 Winter Simulation Conference (WSC), Arlington, VA, USA, 11–14 December 2016; pp. 2809–2819. [Google Scholar]
  11. Carlier, J. Ordonnancements a contraintes disjonctives. RAIRORecherche Oper. 1978, 12, 333–351. [Google Scholar] [CrossRef] [Green Version]
  12. Heller, J. Some numerical experiments for an M×J flow shop and itsdecision-theoretical aspects. Oper. Res. 1960, 8, 178–184. [Google Scholar] [CrossRef]
  13. Reeves, C. A genetic algorithm for flowshop sequencing. Comput. Oper. Res. 1995, 22, 5–13. [Google Scholar] [CrossRef]
  14. Nawa, N.E.; Furuhashi, T. Fuzzy system parameters discovery by bacterial evolutionary algorithm. IEEE Trans. Fuzzy Syst. 1999, 7, 608–616. [Google Scholar] [CrossRef]
  15. Inoue, T.; Furuhashi, T.; Maeda, H.; Takaba, M. A study on interactive nurse scheduling support system using bacterial evolutionary algorithm engine. Trans. Inst. Elect. Eng. Jpn. 2002, 122, 1803–1811. [Google Scholar]
  16. Das, S.; Chowdhury, A.; Abraham, A. A bacterial evolutionary algorithm for automatic data clustering. In Proceedings of the IEEE Congress on Evolutionary Computation 2009 (CEC ’09), Trondheim, Norway, 18–21 May 2009; pp. 2403–2410. [Google Scholar]
  17. Hoos, H.H.; Stutzle, T. Stochastic Local Search: Foundations and Applications; Morgan Kaufmann: San Francisco, CA, USA, 2005. [Google Scholar]
  18. Moscato, P.; Mathieson, L. Memetic Algorithms for Business Analytics and Data Science: A Brief Survey. Bus. Consum. Anal. New Ideas 2019, 545–608. [Google Scholar] [CrossRef]
  19. Gong, G.; Deng, Q.; Chiong, R.; Gong, X.; Huang, H. An effective memetic algorithm for multi-objective job-shop scheduling. Knowl. Based Syst. 2019, 182, 104840. [Google Scholar] [CrossRef]
  20. Botzheim, J.; Cabrita, C.; Kóczy, L.T.; Ruano, A.E. Fuzzy rule extraction by bacterial memetic algorithms. Int. J. Intell. Syst. 2009, 24, 312–339. [Google Scholar] [CrossRef]
  21. Muyldermans, L.; Beullens, P.; Cattrysse, D.; Van Oudheusden, D. Exploring variants of 2-opt and 3-opt for the general routing problem. Oper. Res. 2005, 53, 982–995. [Google Scholar] [CrossRef]
  22. Balazs, K.; Koczy, L.T. Hierarchical-interpolative fuzzy system construction by genetic and bacterial memetic programming approaches. Int. J. Uncertain. Fuzziness Knowl. Based Syst. 2012, 20, 105–131. [Google Scholar] [CrossRef]
  23. Kóczy, L.T.; Földesi, P.; Tüű-Szabó, B. An effective discrete bacterial memetic evolutionary algorithm for the traveling salesman problem. Int. J. Intell. Syst. 2017, 32, 862–876. [Google Scholar] [CrossRef]
  24. Tüű-Szabó, B.; Földesi, P.; Kóczy, L.T. An Efficient Evolutionary Metaheuristic for the Traveling Repairman (Minimum Latency) Problem. Int. J. Comput. Intell. Syst. 2020, 13, 781–793. [Google Scholar] [CrossRef]
  25. Dai, M.; Tang, D.; Giret, A.; Salido, M.A.; Li, W.D. Energy-efficient scheduling for a flexible flow shop using an improved genetic-simulated annealing algorithm. Robot. Comput. Integr. Manuf. 2013, 29, 418–429. [Google Scholar] [CrossRef]
  26. Agárdi, A.; Nehéz, K. Flow Shop Scheduling Problem Optimization with Discrete Bacterial Memetic Evolutionary Algorithm and Simulated Annealing. 2021. Available online: https://github.com/anitaagardi/production-optimization-DBMEA (accessed on 25 March 2021).
Figure 1. Bacterial mutation.
Figure 1. Bacterial mutation.
Symmetry 13 01131 g001
Figure 2. The coherent segment mutation.
Figure 2. The coherent segment mutation.
Symmetry 13 01131 g002
Figure 3. The loose segment mutation.
Figure 3. The loose segment mutation.
Symmetry 13 01131 g003
Figure 4. The gene transfer operator.
Figure 4. The gene transfer operator.
Symmetry 13 01131 g004
Table 1. Experimental results compared with other up-to-date approaches.
Table 1. Experimental results compared with other up-to-date approaches.
Instancen × mLower BoundBest KnownDBMEA + SAIWO [7]HGSA [2]HGA [4]HMM-PFA [6]
Ta00120 × 51232127812831389132414491486
Ta00220 × 5129013591360-144214601528
Ta00320 × 5107310811081-109813861460
Ta00420 × 5126812931293-146915211588
Ta00520 × 5119812351235-129114031449
Ta01120 × 101448158215872207171319552044
Ta01220 × 10147916591681-171821232166
Ta01320 × 10140714961510-155519121940
Ta01420 × 10130813771384-151617821811
Ta01520 × 10132514191420-157319331933
Ta02120 × 201911229723083226233129122973
Ta02220 × 20171120992120-228027802852
Ta02320 × 20184423262349-248029223013
Ta02420 × 20181022232223-236229673001
Ta02520 × 20189922912316-250729533003
Ta03150 × 52712272427243020273131273160
Ta03250 × 5280828342848-293434383432
Ta03350 × 5259626212634-263831823210
Ta03450 × 5274027512776-278532893338
Ta03550 × 5283728632864-286433153356
Ta04150 × 102907299130593465319842514274
Ta04250 × 10282128672933-302041394177
Ta04350 × 10280128392931-305540834099
Ta04450 × 10296830633077-312444804399
Ta04550 × 10290829763041-312943164322
Ta05150 × 203480385039575475410561386129
Ta05250 × 20342437043823-399257215725
Ta05350 × 20335136403760-390058475862
Ta05450 × 20333637203823-392157815788
Ta05550 × 20331336103737-402058915886
Ta061100 × 55437549354955839553664926361
Ta062100 × 5520852685290-530263536212
Ta063100 × 5513051755213-522161486104
Ta064100 × 5496350145023-504460805999
Ta065100 × 5519552505265-535862546179
Ta071100 × 105759577058256815596481158055
Ta072100 × 10534553495414-559679867853
Ta073100 × 10562356765727-579680578016
Ta074100 × 10573257815892-592883278328
Ta075100 × 10543154675567-574879917936
Ta081100 × 205851620264079405639510,74510,675
Ta082100 × 20609961836334-643310,65510,562
Ta083100 × 20609962716480-668910,67210,587
Ta084100 × 20607262696409-641910,63010,588
Ta085100 × 20600963146518-653610,54810,506
Ta091200 × 1010,81610,86211,00211,78311,12015,73915,225
Ta092200 × 1010,42210,48010,627-10,65815,53414,990
Ta093200 × 1010,88610,92211,088-11,22415,75515,257
Ta094200 × 1010,79410,88911,004-11,07515,84215,103
Ta095200 × 1010,43710,52410,666-10,79315,69215,088
Ta101200 × 2010,97911,19511,48315,21711,64220,14819,531
Ta102200 × 2010,94711,20311,535-11,68320,53919,942
Ta103200 × 2011,15011,28111,603-11,93020,51119,759
Ta104200 × 2011,12711,27511,634-11,79120,46119,759
Ta105200 × 2011,13211,25911,549-11,72820,33919,697
Ta111500 × 2025,92226,05926,65230,73026,85949,09546,121
Ta112500 × 2026,35326,52027,115-27,22049,46146,627
Ta113500 × 2026,32026,371n/a-27,51148,77746,013
Ta114500 × 2026,42426,45626,974-26,91249,28346,396
Ta115500 × 2026,18126,334n/a-26,93048,95046,251
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Agárdi, A.; Nehéz, K.; Hornyák, O.; Kóczy, L.T. A Hybrid Discrete Bacterial Memetic Algorithm with Simulated Annealing for Optimization of the Flow Shop Scheduling Problem. Symmetry 2021, 13, 1131. https://doi.org/10.3390/sym13071131

AMA Style

Agárdi A, Nehéz K, Hornyák O, Kóczy LT. A Hybrid Discrete Bacterial Memetic Algorithm with Simulated Annealing for Optimization of the Flow Shop Scheduling Problem. Symmetry. 2021; 13(7):1131. https://doi.org/10.3390/sym13071131

Chicago/Turabian Style

Agárdi, Anita, Károly Nehéz, Olivér Hornyák, and László T. Kóczy. 2021. "A Hybrid Discrete Bacterial Memetic Algorithm with Simulated Annealing for Optimization of the Flow Shop Scheduling Problem" Symmetry 13, no. 7: 1131. https://doi.org/10.3390/sym13071131

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop