Skip to main content
Springer Nature - PMC COVID-19 Collection logoLink to Springer Nature - PMC COVID-19 Collection
. 2020 May 18;1237:241–254. doi: 10.1007/978-3-030-50146-4_19

Artificial Bee Colony Algorithm Applied to Dynamic Flexible Job Shop Problems

Inês C Ferreira 13, Bernardo Firme 13,, Miguel S E Martins 13, Tiago Coito 13, Joaquim Viegas 13, João Figueiredo 14, Susana M Vieira 13, João M C Sousa 13
Editors: Marie-Jeanne Lesot6, Susana Vieira7, Marek Z Reformat8, João Paulo Carvalho9, Anna Wilbik10, Bernadette Bouchon-Meunier11, Ronald R Yager12
PMCID: PMC7274337

Abstract

This work introduces a scheduling technique using the Artificial Bee Colony (ABC) algorithm for static and dynamic environments. The ABC algorithm combines different initial populations and generation of new food source methods, including a moving operations technique and a local search method increasing the variable neighbourhood search that, as a result, improves the solution quality. The algorithm is validated and its performance is tested in a static environment in 9 instances of Flexible Job Shop Problem (FJSP) from Brandimarte dataset obtaining in 5 instances the best known for the instance under study and a new best known in instance mk05. The work also focus in developing tools to process the information on the factory through the development of solutions when facing disruptions and dynamic events. Three real-time events are considered on the dynamic environment: jobs cancellation, operations cancellation and new jobs arrival. Two scenarios are studied for each real-time event: the first situation considers the minimization of the disruption between the previous schedule and the new one and the second situation generates a completely new schedule after the occurrence. Summarizing, six adaptations of ABC algorithm are created to solve dynamic environment scenarios and their performances are compared with the benchmarks of two case studies outperforming both.

Keywords: Dynamic environment, New jobs arrival, Operations cancellation, Jobs cancellation, Flexible job shop rescheduling

Introduction

Factories and governments are launching the fourth industrial revolution called Industry 4.0, due to the dynamic nature of the manufacturing environments and the growing of the virtual world. Industrial production will be highly flexible in production volume and suppliers, and above all sustainable and efficient [10]. Smart factories using Industry 4.0 based on collaborative systems represent the future of industrial networks.

According to a PWC survey from 2013 [4], 50% of German enterprises plan their new industrial network and 20% are already involved in smart factories. A survey by American Society for Quality (ASQ), from 2014 [1], states that 82% of organizations that implemented smart manufacturing experienced increased efficiency, 49% experienced fewer product defects and 45% experienced increased customer satisfaction [8]. Hence, companies can highly benefit from the implementation of Industry 4.0 concepts.

Industry 4.0 represents a smart manufacturing network concept where machines and products interact with each other without human intervention. Supply chains in such networks have dynamic structures which evolve over time. In these settings, short-term supply chain scheduling is challenged by sources of uncertainty. Manufacturing environments are dynamic by nature and there are several events which can occur and change the system status affecting the performance, known as real-time events. Exchanging data and information between different parties in real time is the key element of smart factories; such data could represent production status, energy consumption behaviour, material movements, customer orders and feedback, suppliers’ data, etc. The next generation of smart factories, therefore, will have to be able to adapt, almost in real time, to the continuously changing market demands, technology options and regulations [2].

Flexible Job Shop Problem

The Flexible Job Shop Scheduling Problem (FJSSP) is a generalization of the classical Job Shop Scheduling Problem (JSSP). The JSSP follows the idea that a set of jobs Inline graphic is processed by a set of machines Inline graphic. Every job consists of a finite set of operations and the processing of the operation has to be performed on a preassigned machine. The Inline graphic operation of job j, denoted by Inline graphic, is processed on machine Inline graphic and the JSSP solves the assignment of jobs to the machines. The order of operations of each job is fixed, meaning the JSSP doesn’t need to solve the operation sequence. The aim of the classical static n-by-m JSSP is to find a schedule for processing n jobs on m machines fulfilling an objective function. The FJSSP has one more condition than the JSSP, it is imposed job variability which creates the need for an operation sequence solution, besides the assignment machine solution.

The FJSSP follows some ideas, rules and assumptions. No machine is able to process more than one job at the same time and no job may be processed by more than one machine. Each job and each operation must be processed exactly one time. There is independence between machines and jobs. The sequence of machines a job visits is specified, having a linear precedence structure. If the precedent operation is still being processed, the remaining operations commenced until the processing is completed. The processing time of the Inline graphic operation using a specific machine takes Inline graphic time unities and is known. Machines must always be available at the usage time zero.

The ideas, rules and assumptions can be formulated as follows. There are m machines defined as Inline graphic. There are a group of n jobs independent of each other defined as Inline graphic. Each job has a set of h operations defined as Inline graphic. For each operation Inline graphic, there is a set of machines capable of performing it. The set is denoted by Inline graphic. If Inline graphic for all i and k, the problem becomes a complete flexible job shop problem. The processing time of operations Inline graphic on machine k is stated as Inline graphic. The start time for every operation Inline graphic on machine k is presented as Inline graphic. The finishing time of operation Inline graphic on machine k is presented as Inline graphic.

This problem has also some constraints. The technique constraint describes that the operation must be processed after all precedent operations have been processed. The operations should not be overlapped and the machine will be available to other operations, if the previous operations are completed. The resource constraint demands that one machine can only handle exactly one operation at a time. There is also a precedence constraint for operations of the same job. The objective of the FJSSP is to determine a feasible schedule minimizing the makespan that is the maximum completion time of the jobs. In other words, the total elapsed time between the beginning of the first task and the completion of the last task.

Artificial Bee Colony (ABC) Algorithm

The implementation of the ABC algorithm developed to solve the FJSSP for static environments is described and it was based on the work of [11]. The ABC Algorithm is inspired by the intelligent foraging behaviour of a honeybee swarm. The model that leads to the emergence of the collective intelligence of honey bee swarms consists of three essential components: food sources, employed foragers and unemployed foragers.

ABC Procedure to Static Scheduling

The objective value of the solution is Inline graphic that represents the selected food source, Inline graphic. The total number of food sources is characterized by Inline graphic and Inline graphic is the probability of selecting a food source. The algorithm for ABC is as follows:

  1. Initialize parameters.

  2. Initialize a population of food sources, Inline graphic.

  3. Calculate the objective value Inline graphic of each food source Inline graphic and then determine the best food source Inline graphic.

  4. Employed bees phase
    1. For every employed bee generate the new food source Inline graphic from Inline graphic.
    2. Onlooker bees phase
      • i.
        Calculate the probability of selecting the food source Inline graphic according to equation Inline graphic.
      • ii.
        Calculate the number of onlooker bees to be sent to the food source Inline graphic according to Inline graphic.
      • iii.
        For every onlooker bee generate Inline graphic new food sources Inline graphic from Inline graphic using local search according to its termination criteria.
      • iv.
        Choose the best from all the Inline graphic food sources generated and set it as Inline graphic
      • v.
        If Inline graphic, then Inline graphic
      • vi.
        For all the employed bees, if Inline graphic, then Inline graphic
  5. Scout bees phase
    1. Initialize scout bees with random solutions and update Inline graphic, if possible.
    2. Determine the worst employed bees and replace them with the best scout bees, if they are better.
  6. If the stopping criteria is met the output is Inline graphic and its objective value; otherwise, go back to point 4.

Following the steps of ABC algorithm, it is important to define some concepts and techniques utilized:

  • Solution Representation: The solutions are a combination of two vectors: machine assignment and operation sequence. The first one codes the assignment of operations to the machines and the second one codes the processing sequence of operations for each job. This dual coding vector is a representation of a feasible solution.

  • Population Initialization: To guarantee an initial population with quality, diversity and capability of avoiding falling in a local optimal, a hybrid way to generate the food sources was utilized. The machine assignment initialization uses three rules: random rule, local minimum processing time rule and global minimum processing time rule with a probability of occurence of Inline graphic respectively. The operation sequence initialization uses: random rule, most work remaining rule (MWR) and most number of operations remaining rule (MOR) with a probability of occurrence of Inline graphic

  • Crossover Operators: To evolve the machine assignment vector two crossover operators, the two-point crossover and the uniform crossover, are applied. Also, a method of a crossover called the Precedence Preserving Order-Based Crossover (POX) is implemented to evolve the operation sequence vector.

  • Mutation for Machine Assignment: To enhance the exploration capability in the employed bee search phase, a mutation operator for the machine assignment is embedded in the ABC algorithm.

  • Local Search Based on Critical Path: The local search strategy based on the critical path is proposed and embedded in the searching framework to enhance the local intensification capability for the onlooker bees.

  • Termination Criteria: There are two termination conditions set to terminate the algorithm: a number of trials Inline graphic to improve the solution and the pre-defined number of iterations Inline graphic.

Critical Path Theory. The earliest starting time of the operation Inline graphic is denoted as Inline graphic and the latest starting time is Inline graphic. If the operation Inline graphic is processed on the machine k, then the operation processed previously is Inline graphic and operation processed next is Inline graphic. Inline graphic is the operation of the job i that precedes Inline graphic. Inline graphic is the operation of the job j that is next to Inline graphic. The starting time of the dummy starting node Inline graphic . If the node has no job predecessor, the earliest completion time is Inline graphic. If it has no machine predecessor, the earliest completion time is Inline graphic. The latest completion time of the ending node is equal to the makespan of the schedule, Inline graphic.

The earliest completion time of the operation is described by Eq. 1 and the latest completion time by Eq. 2.

graphic file with name M63.gif 1
graphic file with name M64.gif 2

The earliest starting time is calculated by Eq. 3 and latest starting time of each node by Eq. 4.

graphic file with name M65.gif 3
graphic file with name M66.gif 4

The total slack of operation is the amount of time that an activity can be delayed or anticipated without increasing makespan. The total slack of each node is calculated using Eq. 5.

graphic file with name M67.gif 5

The makespan of a schedule is defined by the length of its critical path, implying that any delay in the start of the critical operation will delay the schedule. The idea behind the local search of the critical path is to analyze all critical operations to verify the possibility of scheduling them earlier.

Moving Operations. In order to simplify the notation, the operation to be moved Inline graphic is called r and the candidate operation Inline graphic to have Inline graphic assigned before is called v.

graphic file with name M71.gif 6
graphic file with name M72.gif 7
graphic file with name M73.gif 8

The above moving operations process is repeated until all the critical operations of the present food source are moved or until the termination criteria for the local search is met. If the food source being searched has no more critical operations the search is terminated, otherwise the procedure is applied a certain number of times Inline graphic to have better improvement of the final schedule. To accept the new solution generated one of the following conditions is satisfied: the new solution has a smaller makespan or the new solution has the same makespan but has fewer critical paths.

Dynamic Scheduling

In the industrial world, scheduling systems often operate under dynamic and stochastic circumstances and it is inevitable to encounter some disruptions which are inherently stochastic and non-optimal. Therefore, algorithms which guarantee quick and good solutions for the scheduling are strongly needed.

In this work, heuristics were made in order to be possible to solve dynamic scheduling cases, through rescheduling. Not only the adaptations created in this work are able to solve unpredictable scenarios, but also reoptimize the solution.

Earl Job Cancelation (ABC-R1)

The first scenario (R1) under study is the rescheduling when a job is cancelled early enough making possible the acceptance and feasibility in the factory to adjust to the significant changes. When the dynamic event arrives, a new schedule will be constructed. The early job cancellation algorithm, ABC-R1, has several mechanisms included to improve the solution as much as possible.

Early Job Cancellation Procedure

  1. Load the static scheduling;

  2. Initialize parameters: the deleted job (Inline graphic);

  3. Initialize a population of food sources (Inline graphic) from the loaded static scheduling. In the machine assignment vector and in the operation sequence vector delete the operations belonging to the deleted job;

  4. Calculate the objective value Inline graphic of the food source Inline graphic and then establish the best food source Inline graphic;

  5. Onlooker bees phase
    1. For every onlooker bee Inline graphic generate new food sources Inline graphic from Inline graphic using local search according to its termination criteria;
    2. Choose the best from all the Inline graphic food sources generated and set it as the best;
    3. If the stopping criteria are met go to the next point; otherwise, go back to point 5;
  6. Initialize a population of food sources (Inline graphic) from the loaded static scheduling. In the machine assignment vector and in the operation sequence vector delete the operations belonging to the deleted job. The process will be done in a cycle, first deleting the operations one at each time, and then trying to anticipate the sequenced operations belonging to the same machine the deleted operation belongs to;

  7. Onlooker bees phase
    1. For every onlooker bee generate Inline graphic new food sources Inline graphic from Inline graphic using local search according to its termination criteria;
    2. Choose the best from all the Inline graphic food sources generated and set it as Inline graphic;
    3. If Inline graphic, then Inline graphic;
    4. For all the employed bees, if Inline graphic, then Inline graphic;
    5. If the stopping criteria is met go to the employed bee phase; otherwise, go back to point 7;
  8. Employed bees phase
    1. For every employed bee generate the new food source Inline graphic from Inline graphic;
      • i.
        Applying crossover operators to the machine assignment vector;
      • ii.
        Applying crossover operators to the operation sequence vector;
      • iii.
        Applying mutation operator to the machine assignment vector;
      • iv.
        Local search for the critical path according to the termination criteria;
      • v.
        If Inline graphic, then Inline graphic;
      • vi.
        For all the employed bees, if Inline graphic, then Inline graphic;
  9. Scout bees phase
    1. Initialize scout bees with random solutions and update Inline graphic, if possible;
    2. Determine the worst employed bees and replace them with the best scout bees if those are better;
  10. If the stopping criteria are met the output is Inline graphic and its objective value; otherwise, go back to point 4.

Late Job Cancellation (ABC-R2)

The second scenario (R2) appear when the job cancellation order arrives and the static scheduling is already being used on the factory, so it is important to erase it without altering the scheduling previously done, with the goal of having the less disruption and disturbance as possible on the factory.

Late Cancellation Procedure

  1. Load the static scheduling;

  2. Initialize parameters: the arrival time of the cancellation order (time of job cancellation) and the job which was cancelled (Inline graphic);

  3. Initialize the population of food source (Inline graphic) from the loaded static scheduling;

  4. Using the machine assignment vector and the operation sequence vector, calculate the search space containing all the possible positions to anticipate the operations, according to the time delete job;

  5. Each one of the operations which have the possibility to be anticipated will be introduced in the best position possible of the search space, respecting to the precedence constraints;

  6. The output is the Inline graphic.

Early Operation Cancelation (ABC-R3)

The third scenario (R3) is similar to the procedure described for ABC-R1. The main difference is that ABC-R1 implies the cancellation of all the operations belonging to the job and ABC-R3 implies the cancellation of part of the job operations.

Early Operation Cancellation Procedure

The main differences are in the first, second and fourth steps. In the first step, a parameter describing which operation will be deleted is additionally initialized, namely (Inline graphic). In the second step, the procedure to initialize the population is similar but operations processed before the operation cancelled are kept on the machine assignment and on the operation sequence vectors. The last difference is in the fourth step: the operations processed before the cancelled operation are kept on the vectors.

Late Operation Cancelation (ABC-R4)

The fourth scenario (R4) is a solution created when it is important to generate a solution similar to the previous one. This scenario has a late operation cancellation order at a time defined as the time of operation cancellation. The precedence constraints imply the cancellation of certain operations from the schedule, not only the one which was cancelled. The main differences to ABC-R2 are in the first and second steps. In the first step, the parameter setting which operation will be deleted is additionally initialized, called (Inline graphic), and the variable of time initialized is the time of operation cancellation. In the second step, the procedure to initialize the population is similar but operations processed before the operation cancelled are kept.

Late Operation Cancellation Procedure

  1. Load the static scheduling;

  2. Initialize parameters: the arrival time of the cancellation order (time of operation cancellation) and the operation which was cancelled (Inline graphic);

  3. Initialize the population of food source (Inline graphic) from the loaded static scheduling deleting the operations from the machine assignment vector and the operation sequence vector;

  4. Using the new machine assignment vector and the operation sequence vector, the search space containing all the possible positions to anticipate the operations will be calculated, according to the time of operation cancellation;

  5. Each one of the operations which have the possibility to be anticipated will be introduced in the best position possible of the search space, with respect to the precedence constraint;

  6. The output is Inline graphic.

Early New Job Arrival (ABC-R5)

The fifth scenario (R5) is characterized by the unexpected arrival of a new job . The ABC-R5 was created as a more reactive model and has several mechanisms included to improve the solution as much as possible.

Early New Job Arrival Procedure

  1. Load the static scheduling;

  2. Initialize parameters: global parameters + new Job (Inline graphic);

  3. Initialize a population of food sources (Inline graphic);
    1. The machine assignment vector from static scheduling is called Inline graphic. The machine assignment for the new job is done independently of the remaining jobs, meaning a vector containing the machine assignment information of only the new job is initialized. This vector is called Inline graphic. Both vectors are joined in one vector Inline graphic, creating the machine assignment vector for the new situation of Inline graphic jobs; The operation sequence vector is initialized from scratch.
  4. Calculate the objective value Inline graphic of the food source Inline graphic and then establish the best food source Inline graphic;

  5. Employed bees phase
    1. For every employed bee generate the new food source Inline graphic from Inline graphic;
      • i.
        Applying crossover operators to the machine assignment vector;
      • ii.
        Applying crossover operators to the operation sequence vector;
      • iii.
        Applying mutation operator to the machine assignment vector;
      • iv.
        Using the local search for the critical path according to the termination criteria;
      • v.
        If Inline graphic, then Inline graphic;
      • vi.
        For all the employed bees, if Inline graphic, then Inline graphic;
  6. Onlooker bees phase
    1. For every onlooker bee generate Inline graphic new food sources Inline graphic from Inline graphic using local search according to its termination criteria;
    2. Choose the best from all the Inline graphic food sources generated and set it as Inline graphic;
    3. If Inline graphic, then Inline graphic;
    4. For all the employed bees, if Inline graphic, then Inline graphic;
    5. If the local search stopping criteria is met go to the employed bee phase; otherwise, go back to point 5;
  7. Scout bees phase
    1. Initialize scout bees with random solutions and update Inline graphic, if possible;
    2. Determine the worst employed bees and replace them with the best scout bees if those are better;
  8. If the stopping criteria are met the output is Inline graphic and its objective value; otherwise, go back to point 6;

Late New Job Arrival (ABC-R6)

The sixth scenario (R6) simulates a new order arrival and the need to introduce it on the system having the lowest disruption possible. It is considered that the static scheduling was already in production until the arrival time of the order, making it impossible to introduce the new operations before the time new job appears.

Late New Job Arrival Procedure

  1. Load the static scheduling;

  2. Initialize parameters: global parameters + the arrival time of the new job (time new job appears) and the new number of jobs (Inline graphic);

  3. Initialize the population of food source (Inline graphic) from the loaded static scheduling;

  4. Using the machine assignment vector and the operation sequence vector, calculate the search space containing all the possible positions to introduce the operations of the new job, according to the time new job appears;

  5. Each one of the new operations will be introduced in the best position possible of the search space, respecting the precedence constraints;

  6. The output is Inline graphic.

Results

To verify and validate the implementation of the ABC algorithm for FJSSP in static and dynamic environments, the algorithm was tested in benchmark datasets and compared to other algorithms.

  • Static scheduling
    1. Brandimarte dataset [3] and compared to algorithms [5, 6, 9, 1113]
  • Dynamic scheduling
    1. Benchmark 1 - The problem is formulated in [7] where there are 6 machines, 13 different jobs and for each job the number of the operations is {3, 2, 3, 4, 3, 3, 2, 3, 2, 3, 3, 3, 3}, respectively. There is a total of 37 operations. The job 11 is cancelled as a dynamic occurrence.
    2. Benchmark 2 - In [14], the benchmark treats the arrival of three new jobs (Inline graphic) and each job has {3, 2, 3} operations, respectively.

Parameters

To perform the initialization of the population, the determination of several parameters is needed. The values for termination criteria (Inline graphic and Inline graphic), local search termination criteria (Inline graphic), the number of the employed bees (Inline graphic), the number of onlooker bees (Inline graphic)and the number of scout bees (Inline graphic) are presented in Table 1.

Table 1.

Global parameters for static and dynamic scheduling

Global parameters
Inline graphic Inline graphic Inline graphic Inline graphic Inline graphic Inline graphic
Static Inline graphic Inline graphic Inline graphic Inline graphic Inline graphic Inline graphic
Dynamic Inline graphic Inline graphic n Inline graphic Inline graphic n

Static Scheduling

The results are compared in Table 2 and all the results were obtained after twenty runs selecting the best individual. The proposed algorithm is within the best performing algorithms and it produces good results when compared to PVNS and ABC. PVNS achieves four optimal solutions, ABC achieves six and the proposed ABC also achieves six optimal solutions and one is a new reached lower bound. Comparing hGAJobs, it was better in six instances and equal in other three. Comparing to LEGA, it was equal in one instances and better in seven. From the comparation with KBACO, the proposed ABC is better in six instances and equal in three. When comparing TSPCB, it performed better in five datasest, and equally good in four of them. The good performance of the proposed implementation is guaranteed by the combination of different initial populations, including a moving operations technique and a local search method increasing the neighbourhood search that, as a result, improves the solution quality. It is very likely that with more time and maybe better tuned parameters, the proposed implementation would reach the optimum solutions in more instances.

Table 2.

The results of the Brandimarte instances when solved using different algorithms.

Instances hGAJobs [5] LEGA[6] PVNS[13] KBACO [12] TSPCB [9] ABC [11] Proposed
Mk01 40 40 40 39 40 40 39
Mk02 27 29 26 29 26 26 26
Mk03 204 N/ 204 204 204 204 204
Mk04 60 67 60 65 62 60 60
Mk05 173 176 173 173 172 172 169*
Mk06 64 67 67 67 65 60 58
Mk07 141 147 144 144 140 139 140
Mk08 523 523 523 523 523 523 523
Mk09 312 320 307 311 310 307 308
Mk10 211 229 208 229 214 208 -

Valuable to note, a new best known lower bound was reached for the mk05 benchmark of the Brandimarte dataset in static environment. The lower bound for mk05 is 169 and the previously last known lower bound found was 172 in [9] and [11]. The new reached lower bound is 169, three units of time smaller than the previous one.

Dynamic Scheduling

Early Job Cancellation (ABC-R1)

Comparing Benchmark 1 and ABC-R1: In the case study using benchmark 1, the makespan of the initial scheduling is 66 and the makespan after the cancellation of the job 11 is 62. The maximum makespan obtained is 52, which is considerably smaller than the makespan obtained in study 1, and an important fact is that the worst solution obtained using the implemented algorithm is 11,29% better. The maximum improvement of the solution obtained using ABC-R1 is 19,4%. It is possible to conclude that ABC-R1 is highly competitive compared to the solution proposed in the case study using benchmark 1 and it always obtains a substantial lower makespan.

Late Job Cancellation (ABC-R2)

Comparing Benchmark 1 and ABC-R2: Only one result for ABC-R2 is presented because the algorithm has no stochastic behaviour and, as a consequence, the results obtained are the same for each run. The original makespan of the scheduling in the case study using benchmark 1, before the cancellation of the job 11 at 8 units of time, was 66 and after the cancellation is 62. Using the ABC-R2 a makespan of 55 is obtain in 1, 7 seconds. The makespan obtained with ABC-R2 is 7 units of time smaller and it has an improvement of 11, 29%.

Early Operation Cancellation (ABC-R3). To evaluate the performance of ABC-R3, mk04 was used. All the operations, from 2 to 5, were set one at each time as the cancellation of the operation. All the results were obtained after three runs, selecting the best individual. The makespan of the static scheduling of mk04 is 60. The makespan obtained using ABC-R3 is 38, 54, 42 and 38, respectively, and is always smaller than the original of the static scheduling. Another important note is that the maximum run time was 99,2 s and the minimum was 0,3 s. A good solution was achieved in a short period of time to solve the problem.

Late Operation Cancellation (ABC-R4). To test the performance of the ABC-R4 solving a late cancellation of the operation, mk01 was used. For job 7 and job 10, one at each time were set as the dynamic event. All the results were obtained after three runs, selecting the best individual. The makespan of the static scheduling of mk04 is 60. The makespan of these dynamic events is always smaller, being 37 for Inline graphic and 33 for Inline graphic and the run time was 1, 5 seconds. A good solution was achieved to solve the problem of a late order to cancel one operation.

Early New Job Arrival (ABC-R5)

Comparing Benchmark 2 and ABC-R5: In the case using benchmark 2, the makespan of the initial scheduling is 66 and the one after the three orders arrival is 78. It is possible to conclude that ABC-R5 is highly competitive, when compared to the results obtained using benchmark 2, because even the maximum makespan obtained of 71 using the ABC-R5 is smaller than the makespan of 78 obtained using benchmark 2. Other reason to be considered a highly competitive solution is the significative improvement of the solution obtained using the ABC-R5 and it is important to notice that the worst improvement was 9%, which still a relevant improvement.

Late New Job Arrival (ABC-R6)

Comparing Benchmark 2 and ABC-R6 Only one result of the ABC-R6 algorithm is presented because the algorithm has no stochastic behaviour. The original makespan of the scheduling in the case study using benchmark 2, before the new orders arrive, was 66. The time new job appears is 8 units of time and after the arrival of the three orders the makespan became 78. Using the ABC-R6, for three orders arrival at 8 units of time, a makespan of 66 is obtained in 1 second. Comparing this result with the result obtained in benchmark 2, there was an improvement of 15, 38% in the solution. The cases of just one new order and two new orders arrival were also studied and, in both cases, a makespan of 66 was obtained. In fact, the developed solution is substantially better than the case study solution using benchmark 2.

Conclusions

The main objective of this work was to develop tools capable of creating a schedule solution in a dynamic environment. To achieve this objective, firstly a static scheduling algorithm was implemented using an Artificial Bee Colony algorithm and then, as a response to unpredicted or disruptive events, such as jobs cancellation, operations cancellation, and new job arrivals, six heuristics were created and implemented to solve the dynamic problem. Therefore, the Artifical Bee Colony algorithm was extended to innovative solutions for the dynamic environment.

After testing the algorithm in benchmark problems and comparing it to other published algorithms, the implemented solution was verified to be a good solution and achieved the optimal solution in six of the ten instances. Valuable to note, a new optimal solution for one of the instances was found, which it is three units of time smaller than the last one known and only one more than the lower bound.

Notwithstanding, this work’s primary goal was to create the six adaptations of the ABC algorithm to dynamic scenarios. The scenarios were tested against the static scheduling obtained using the benchmark problems in the static environment, to fulfil the objective of evaluating the performance of the adapted algorithms and create instances for dynamic testing. All the implementations achieve good solutions in a very short time. Additionally, the solution obtained using ABC-R1, ABC-R2, ABC-R5 and ABC-R6 were compared to the solution obtained using benchmarks belonging to case studies. The makespan was always smaller, while compared to the benchmarks, and it was always several units of time smaller. It is important to refer, that the worst improvement of a solution obtained using one of the adaptations was 9, 0%, which is still a relevant improvement comparatively to the benchmarks results and all the results have an improvement. All in all, very promising solutions are shown for dynamic scheduling.

Footnotes

This work was supported by FCT, through IDMEC, under LAETA, project UIDB/50022/2020.

Contributor Information

Marie-Jeanne Lesot, Email: marie-jeanne.lesot@lip6.fr.

Susana Vieira, Email: susana.vieira@tecnico.ulisboa.pt.

Marek Z. Reformat, Email: marek.reformat@ualberta.ca

João Paulo Carvalho, Email: joao.carvalho@inesc-id.pt.

Anna Wilbik, Email: a.m.wilbik@tue.nl.

Bernadette Bouchon-Meunier, Email: bernadette.bouchon-meunier@lip6.fr.

Ronald R. Yager, Email: yager@panix.com

Inês C. Ferreira, Email: ines.azevedo.ferreira@tecnico.ulisboa.pt

Bernardo Firme, Email: bernardo.firme@tecnico.ulisboa.pt.

Miguel S. E. Martins, Email: miguelsemartins@tecnico.ulisboa.pt

Tiago Coito, Email: tiagoascoito@tecnico.ulisboa.pt.

João Figueiredo, Email: jfig@uevora.com.

Susana M. Vieira, Email: susana.vieira@tecnico.ulisboa.pt

João M. C. Sousa, Email: jmcsousa@tecnico.ulisboa.pt

References

  • 1.American Society for Quality: Manufacturing outlook survey. Technical report (2013)
  • 2.Azevedo A, Almeida A. Factory templates for digital factories framework. Rob. Comput. Integr. Manuf. 2011;27(4):755–771. doi: 10.1016/j.rcim.2011.02.004. [DOI] [Google Scholar]
  • 3.Brandimarte P. Routing and scheduling in a flexible job shop by tabu search. Ann. Oper. Res. 1993;41(3):157–183. doi: 10.1007/BF02023073. [DOI] [Google Scholar]
  • 4.Company - PWC: Deutschland hinkt bei industrie 4.0 hinterher – smart factory (2013). http://www.pwc.de/de/pressemitteilungen/2013/deutschland-hinkt-bei-industrie-4-0-hinterher-smart-factory-etabliert-sichnur-langsam.jhtml. Accessed 28 Aug 2018
  • 5.Cunha, M.: Scheduling of Flexible Job Shop Problem in Dynamic Environments. Master’s thesis, Instituto Superior Técnico (2017)
  • 6.Ho NB, Tay JC, Lai EMK. An effective architecture for learning and evolving flexible job-shop schedules. Eur. J. Oper. Res. 2007;179(2):316–333. doi: 10.1016/j.ejor.2006.04.007. [DOI] [Google Scholar]
  • 7.Honghong Y, Zhiming W. The application of adaptive genetic algorithms in FMS dynamic rescheduling. Int. J. Comput. Integr. Manuf. 2003;16(6):382–397. doi: 10.1080/0951192031000077870. [DOI] [Google Scholar]
  • 8.Ivanov D, Dolgui A, Sokolov B, Werner F, Ivanova M. A dynamic model and an algorithm for short-term supply chain scheduling in the smart factory industry 4.0. Int. J. Prod. Res. 2016;54(2):386–402. doi: 10.1080/00207543.2014.999958. [DOI] [Google Scholar]
  • 9.Li JQ, Pan QK, Suganthan P, Chua T. A hybrid tabu search algorithm with an efficient neighborhood structure for the flexible job shop scheduling problem. Int. J. Adv. Manuf. Technol. 2011;52(5–8):683–697. doi: 10.1007/s00170-010-2743-y. [DOI] [Google Scholar]
  • 10.Shrouf, F., Ordieres, J., Miragliotta, G.: Smart factories in industry 4.0: a review of the concept and of energy management approached in production based on the internet of things paradigm. In: International Conference on Industrial Engineering and Engineering Management (IEEM), 2014 IEEE, pp. 697–701. IEEE (2014)
  • 11.Wang L, Zhou G, Xu Y, Wang S, Liu M. An effective artificial bee colony algorithm for the flexible job-shop scheduling problem. Int. J. Adv. Manuf. Technol. 2012;60(1–4):303–315. doi: 10.1007/s00170-011-3610-1. [DOI] [Google Scholar]
  • 12.Xing LN, Chen YW, Wang P, Zhao QS, Xiong J. A knowledge-based ant colony optimization for flexible job shop scheduling problems. Appl. Soft Comput. 2010;10(3):888–896. doi: 10.1016/j.asoc.2009.10.006. [DOI] [Google Scholar]
  • 13.Yazdani M, Amiri M, Zandieh M. Flexible job-shop scheduling with parallel variable neighborhood search algorithm. Expert Syst. Appl. 2010;37(1):678–687. doi: 10.1016/j.eswa.2009.06.007. [DOI] [Google Scholar]
  • 14.Zakaria Z, Petrovic S. Genetic algorithms for match-up rescheduling of the flexible manufacturing systems. Comput. Ind. Eng. 2012;62(2):670–686. doi: 10.1016/j.cie.2011.12.001. [DOI] [Google Scholar]

Articles from Information Processing and Management of Uncertainty in Knowledge-Based Systems are provided here courtesy of Nature Publishing Group

RESOURCES