Next Article in Journal
Adaptive Tolerance Dehazing Algorithm Based on Dark Channel Prior
Next Article in Special Issue
Optimizing Convolutional Neural Network Hyperparameters by Enhanced Swarm Intelligence Metaheuristics
Previous Article in Journal
Optimal Model for Carsharing Station Location Based on Multi-Factor Constraints
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Modified Migrating Birds Optimization for Energy-Aware Flexible Job Shop Scheduling Problem

1
School of Computer and Communication Engineering, Zhengzhou University of Light Industry, Zhengzhou 450002, China
2
School of Transportation, Ludong University, Yantai 264025, China
*
Author to whom correspondence should be addressed.
Algorithms 2020, 13(2), 44; https://doi.org/10.3390/a13020044
Submission received: 1 February 2020 / Revised: 18 February 2020 / Accepted: 18 February 2020 / Published: 20 February 2020
(This article belongs to the Special Issue Swarm Intelligence Applications and Algorithms)

Abstract

:
In recent decades, workshop scheduling has excessively focused on time-related indicators, while ignoring environmental metrics. With the advent of sustainable manufacturing, the energy-aware scheduling problem has been attracting more and more attention from scholars and researchers. In this study, we investigate an energy-aware flexible job shop scheduling problem to reduce the total energy consumption in the workshop. For the considered problem, the energy consumption model is first built to formulate the energy consumption, such as processing energy consumption, idle energy consumption, setup energy consumption and common energy consumption. Then, a mathematical model is established with the criterion to minimize the total energy consumption. Secondly, a modified migrating birds optimization (MMBO) algorithm is proposed to solve the model. In the proposed MMBO, a population initialization scheme is presented to ensure the initial solutions with a certain quality and diversity. Five neighborhood structures are employed to create neighborhood solutions according to the characteristics of the problem. Furthermore, both a local search method and an aging-based re-initialization mechanism are developed to avoid premature convergence. Finally, the experimental results validate that the proposed algorithm is effective for the problem under study.

1. Introduction

Nowadays, with the increasing emphasis on the environmental protection and sustainable development, manufacturing enterprises are facing not only economic pressure but also environmental challenges. It is very important to take some measurements to control energy consumption. Several different directions are being pursued by researchers in academia and industry area, which concentrate on the machine level, the product level and the management level. Due to the considerable investment, it may be only appropriate for large-size enterprises to purchase energy-saving machines and develop energy-efficient products in the perspective of the machine level and product level. Therefore, the existing research has mainly focused on the management level. Production scheduling is one of the most important factors in production management, which allocates limited resources to tasks in order to reach expected targets during the whole manufacturing process. In recent years, production scheduling has proved to be an effective way of reducing energy consumption [1,2,3]. There has been an increasing number of studies on energy-aware scheduling problems.
The flexible job shop scheduling problem (FJSP) is a well-known combinatorial optimization problem, which is extended from the classical job shop scheduling problem (JSP) [4,5]. Compared with the JSP, FJSP considers not only the operation permutation of each machine but also the machine assignment to each operation, which makes it closer to practical production. Due to the essential complexity and the wide applications, FJSP has been paid a lot of attention by researchers at home and abroad. However, most of the published literature mainly concentrates on time-related metrics, such as makespan, earliness/tardiness, workload and flow time, while ignoring the indicators closely related to energy and environment. With the increasing promotion of sustainable manufacturing, energy-aware flexible job shop scheduling (EFJSP) has attracted the interest of scholars. Mokhtari and Hasani [6] presented a mathematical model to optimize the total completion time, the system availability and the total energy cost. For such a multi-objective model, an enhanced evolutionary algorithm was proposed to obtain the optimal scheduling solutions. Lei et al. [7] investigated a FJSP with the consideration of workload balance and energy consumption. A shuffled frog leaping algorithm was developed to get the trade-off between the two indicators. Wu and Sun [8] established a mathematical model to save energy in a flexible job shop by determining when to turn machines on/off and which speed level to select. A non-dominated sorted genetic algorithm was designed to solve this complicated problem. Wang et al. [9] developed a two-stage energy-saving optimization approach for the flexible job shop scheduling problem. Lei et al. [10] investigated a flexible job shop scheduling problem with the objective of minimizing makespan and total tardiness under an energy consumption threshold. A two-phase evolutionary algorithm was proposed based on an imperialist competitive algorithm and a variable neighborhood search algorithm. Meng et al. [11] addressed the flexible job shop scheduling problem with a criterion to reduce the total energy consumption. Six mixed-integer linear programming models were presented in the study, whose correctness and effectiveness were tested by using CPLEX solver through numerical experiments. Jiang and Deng [12] established a mathematical model for the energy-aware flexible job shop scheduling problem to minimize the energy cost and the earliness/tardiness cost. A bi-population based discrete cat swarm optimization algorithm was developed to solve the problem. Yin et al. [13] proposed a mathematical model for the flexible job shop with a variable machining speed to optimize productivity, energy efficiency and noise reduction. A multi-objective genetic algorithm was proposed to deal with the model. Song et al. [14] presented a mathematical model of a flexible job shop, considering energy consumption and preventive maintenance and proposed a non-dominated sorting genetic algorithm II (NSGA-II) to optimize the maximum completion time, the total processing energy cost and the total maintenance energy cost. Liu et al. [15] introduced an integrated green flexible job shop scheduling problem with the consideration of crane transportation. A hybrid algorithm, called as GA–GSO–GTHS, was developed based on a genetic algorithm (GA), a glowworm swarm optimization (GSO) algorithm and a green transport heuristic strategy (GTHS). Zhang et al. [16] built a new mathematical model of the flexible job shop under a time of use strategy to minimize the makespan and electricity consumption cost. A hybrid algorithm based on the biogeography-based optimization algorithm and variable neighborhood search was proposed to solve the bi-objective problem. Zhang et al. [17] studied an energy-saving flexible job shop scheduling problem to minimize the makespan and the total energy consumption. A modified shuffled frog-leaping algorithm (SFLA) was employed to solve the model. Lu et al. [18] proposed a discrete water wave optimization algorithm to solve an energy-conscious FJSP with various machining speeds.
With regards to the above literature, the relevant research on the energy-aware FJSP is still in the initial stage of exploration. Extensive work is yet to be carried out to narrow the gap between theoretical research and practical production. In the practical production, each machine can be operated by different workers belonging to an eligible worker set. In other words, for each machine, an appropriate worker needs to be chosen from the eligible worker set before processing jobs on it. In this case, the processing time of each job is dependent on both the assigned machine and the selected worker. Therefore, the worker can be also viewed as a kind of limited resource to be scheduled in the workshop. Such a problem is always categorized as a dual-resource constrained flexible job shop scheduling problem (DRCFJSP) [19]. However, in the previous research, the environmental metrics were not considered in the DRCFJSP. Nowadays, with increasing wage costs, the rational use of limited workers has become more and more important. Therefore, the integration of energy-aware scheduling and dual-resource constraints in the FJSP, named the energy-aware dual-resource constrained flexible job shop scheduling problem (EDRCFJSP), is a new issue which deserves to be studied.
To the best of the authors’ knowledge, there are few studies related to the EDRCFJSP that are more complex and that require more hard work to solve than the traditional FJSP [20]. Thus, an effective scheduling algorithm is highly desirable for the solving of the problem under study. In recent years, swarm intelligence algorithms have been developed and widely used for solving various optimization problems [21,22,23,24,25,26,27,28]. In this paper, a swarm intelligence algorithm, namely the migrating birds optimization (MBO), is introduced to deal with the addressed problem, which was originally proposed for quadratic assignment problems [29]. Since then, the MBO algorithm has been successfully applied to various optimization problems, such as the production scheduling problem [30], closed loop layout [31], knapsack problem [32], travelling salesman problem [33] and task allocation problem [34]. However, as far as the we know, there is no application of the MBO algorithm on the EDRCFJSP. In addition, the MBO is a kind of neighborhood search algorithm, which makes it easy to adopt for the production scheduling problem. Thus, according to the characteristics of the addressed problem, we present a modified MBO algorithm (MMBO) for solving the EDRCFJSP. Some effective technologies are included alongside the original MBO, such as population initialization, problem-based neighborhood structures, local search strategy and an age-based re-initialization mechanism. Experimental data demonstrate the effectiveness of the proposed algorithm for solving the EDRCFJSP.
The rest of this paper is organized as follows. In Section 2, mathematical model of EDRCFJSP is established. In Section 3, the proposed MMBO algorithm is described in detail. Section 4 shows the related experimental data and Section 5 provides conclusions and future works.

2. Mathematical Model of EDRCFJSP

2.1. Problem Description

In the workshop, n independent jobs are supposed to be processed on m machines with w workers. For each job i , J i operations need to be processed following a given processing order, i.e., the precedence order between operations of the same job is fixed and known. Each operation must be processed by a machine selected from the operation’s eligible machine set. In addition, each machine must be operated by a worker selected from the machine’s eligible worker set. The processing time of each operation is dependent on the assigned machine and the selected worker. Moreover, different energy consumption may be needed by different machines and workers. Thus, the EDRCFJSP problem can be decomposed into three sub-problems: machine assignment (MA), worker selection (WS) and operation permutation (OP). The optimization goal is to minimize the total energy consumption in the workshop. Some assumptions should be considered as follows:
(1)
Jobs, machines and workers are ready at the time zero;
(2)
Each machine can process, at most, one operation at a time;
(3)
Each worker can operate, at most, one machine at a time;
(4)
For each operation, preemption is not permitted;
(5)
Any two operations belonging to different jobs are independent of each other;
(6)
A worker cannot be changed when he/she is processing jobs;
(7)
Each machine cannot be completely turned off unless all jobs assigned to it are finished;
(8)
The transportation times of jobs and moving times of the workers between different machines are ignored.
Before formulating the problem, some necessary symbols are listed as follows:
n : Number of jobs, i = 1 , 2 , 3 , , n ;
m : Number of machines, k = 1 , 2 , 3 , , m ;
w : Number of workers, l = 1 , 2 , 3 , , w ;
J i : Number of operations in job i , j = 1 , 2 , 3 , , J i ;
O i j : The j th operation of job i ;
F : The objective function;
E 1 : The processing energy consumption;
E 2 : The idle energy consumption;
E 3 : The setup energy consumption;
E 4 : The common energy consumption;
S i j : Start time of O i j ;
C i j : Completion time of O i j ;
p i j k l : Processing time of O i j on machine k operated by worker l ;
P E i j k l : Processing energy consumption coefficient of O i j on machine k operated by worker l ;
S E k : Idle energy consumption coefficient of machine k when it is running in the idle state;
M : A big positive constant number;
S k : Start time of machine k ;
C k : Completion time of machine k ;
W k : Workload of machine k , which equals the sum of the processing times of jobs assigned to machine k ;
T S T k : Total setup time of machine k ;
T U k : Setup energy consumption coefficient of machine k ;
C E : Common energy consumption coefficient;
C max : Final completion time (makspan) of the workshop;
S U i j i j k : Setup time of machine k when O i j is processed immediately after O i j
y i j k l : A binary variable, if O i j is processed on machine k operated by worker l , y i j k l = 1; otherwise, y i j k l = 0;
z i j i j k : A binary variable, if O i j is processed on machine k prior to O i j , z i j i j k = 1; otherwise, z i j i j k = 0.

2.2. Energy Consumption Model

2.2.1. Processing Energy Consumption

The processing energy consumption ( E 1 ) denotes the energy consumed by machines for processing operations, which can be formulated by Equation (1).
E 1 = i = 1 n j = 1 J i k = 1 m l = 1 w P E i j k l y i j k l p i j k l

2.2.2. Idle Energy Consumption

The idle energy consumption ( E 2 ) represents the energy consumed by machines during the time interval between each pair of consecutive jobs, which can be represented by Equation (2).
E 2 = k = 1 m S E k ( C k S k W k )

2.2.3. Setup Energy Consumption

The energy consumption ( E 3 ) defines the energy consumed by machines during the setup process for each pair of consecutive jobs assigned to the same machine.
E 3 = k = 1 m T U k T S T k

2.2.4. Common Energy Consumption

The common energy consumption ( E 4 ) is the energy consumed for maintaining the daily operation of the workshop, such as lighting and air conditioning, which can be calculated by Equation (4).
E 4 = C E × C max

2.2.5. Total Energy Consumption

The total energy consumption ( F ) is the sum of the processing energy consumption, the idle energy consumption, the setup energy consumption and the common energy consumption, which is shown in Equation (5).
F = E 1 + E 2 + E 3 + E 4

2.3. Problem Modelling

In our previous work, an energy-aware flexible job shop scheduling problem is studied without the consideration of the dual-resource constraints [12]. Based on the existing model, a new mathematical model of the EDRCFJSP problem is modeled as below.
min F = i = 1 n j = 1 J i k = 1 m l = 1 w P E i j k l y i j k l p i j k l + k = 1 m S E k ( C k S k W k ) + k = 1 m T U k T S T k + C E × C max
s . t .   C i j S i j = k = 1 m l = 1 w y i j k l p i j k l ,   i = 1 , 2 , , n ;   j = 1 , 2 , , J i
S i ( j + 1 ) C i j 0 ,   i = 1 , 2 , , n ; j = 1 , 2 , , J i 1
S i j + M ( 1 z i j i j k ) C i j + S U i j i j k ,   i , i = 1 , 2 , , n ; j , j = 1 , 2 , , J i ; k = 1 , 2 , , m
S i j + Μ z i j i j k C i j + S U i j i j k ,   i , i = 1 , 2 , , n ; j , j = 1 , 2 , , J i ; k = 1 , 2 , , m
k = 1 m l = 1 w y i j k l = 1 ,   i = 1 , 2 , , n ;   j = 1 , 2 , , J i
W k = i = 1 n j = 1 J i l = 1 w p i j k l y i j k l ,   k = 1 , 2 , , m
T S T k = i = 1 n j = 1 J i i = 1 n j = 1 J i S U i j i j k z i j i j k ,   k = 1 , 2 , , m
C k = max { C i j y i j k l } ,   i = 1 , 2 , , n ; j = 1 , 2 , , J i ;   k = 1 , 2 , , m ; l = 1 , 2 , , w
S k = min { S i j y i j k l } ,   i = 1 , 2 , , n ; j = 1 , 2 , , J i ;   k = 1 , 2 , , m ; l = 1 , 2 , , w
y i j k l { 0 , 1 } ,   i = 1 , 2 , , n ; j = 1 , 2 , , J i ; k = 1 , 2 , , m ;   l = 1 , 2 , , w
z i j i j k { 0 , 1 } ,   i , i = 1 , 2 , , n ; j , j = 1 , 2 , , J i ; k = 1 , 2 , , m
Equation (6) is the objective function; Constraint (7) indicates that the processing of each operation must not be interrupted; Constraint (8) defines the precedence order between operations in a job; Constraints (9) and (10) ensure that each machine cannot process more than one operation at a time. For any two operations on the same machine, the processing of the operation cannot be started until its preceding operation is completed and the setup of the machine is finished; Constraint (11) represents that each operation is processed by one machine and the assigned machine is operated by one worker. Constraint (12) shows the workload of each machine; Constraint (13) gives the total setup time of each machine; Constraint (14) denotes the completion time of each machine; Constraint (15) defines the start time of each machine; Constraints (16) and (17) show the binary variables.

3. Modified Migrating Birds Optimization

A modified migrating birds optimization (MMBO) algorithm is implemented in this section for solving the problem. Firstly, a three-vector encoding method is employed to represent the scheduling solution. Secondly, a population initialization method is developed to generate the initial solutions. Thirdly, five neighborhood structures are presented to create neighborhood solutions according to the characteristics of the problem. In addition, a local search algorithm and an aging-based re-initialization mechanism are developed to avoid premature convergence.

3.1. The Basic MBO Algorithm

MBO is a swarm intelligence algorithm which originates from birds’ migration behavior when they form a V-shaped formation [29]. In the MBO, each solution corresponds to a bird. In the flock, one bird is viewed as the leader and the others follow in a line on the right and left sides of the leader bird. The MBO algorithm consists of four steps: population initialization, improvement of the leader bird, improvement of the following birds and selection of a new leader bird.
First, a given number of birds are randomly generated and one bird is selected as the leader bird. In order to improve the leading solution, the MBO generates several neighboring solutions by exploring the leader bird’s neighborhood. If the best solution among these neighbors is better than the leading solution, the leading solution is replaced by the best neighbor. Then, for each following bird, it evaluates its own neighboring solutions and a certain number of the best unused neighboring solutions of its previous solution in the line. The best solution will be the new solution if it is better than the current one. This updating process progresses from the leader towards the tail of the left or right lines. Once all solutions in the flock are considered, this updating process will be repeated. After several tours, the leader bird will be moved to one of the tails, and a solution behind it will take up the position of the leading solution. Then, another loop starts. The evolutionary procedure will not stop unless a termination condition is satisfied. The detailed steps of the basic MBO are shown as follows:
Step 1: Set the parameters of the MBO algorithm, such as the population size p o p s i z e , the number of neighboring solutions k , the number of shared neighboring solutions x , the number of tours G , the predefined lifespan l s , and the maximum iteration Kmax.
Step 2: Generate the initial population in a random manner.
Step 3: Set the iteration number K 1 , the tour number g 1 , the flag numer f l a g 1 .
Step 4: Randomly generate k neighboring solutions of the leader bird. Improve the leader solution and fill the shared neighboring sets S L and S R , each of which has x elements.
Step 5: For each solution π L in the left line L , randomly generate k x neighboring solutions. N L represents the set of the k x neighbors. The best solution in N L S L is used to replace the original solution. Empty S L and refill it by using x best unused solutions in N L S L .
Step 6: For each solution π R in the right line R , randomly generate k x neighboring solutions. N R represents the set of the k x neighbors. The best solution in N R S R is used to replace the original solution. Empty S R and refill it by using x best unused solutions in N R S R .
Step 7: Evaluate the fitness value of each individual and update the current best solution.
Step 8: Set g g + 1 . If the number of tours G is met, go to Step 9; otherwise, go to Step 4.
Step 9: If f l a g = 1 , move the leader to the end of L , and set the first solution of L as the new leader, and let f l a g = 0 ; otherwise, move the leader to the end of R , and set the first solution of R as the new leader, and let f l a g = 1 .
Step 10: Set K K + 1 and check the terminate condition. If K > K max is not met, then set g 1 , and go to Step 4; otherwise, go to Step 11.
Step 11: End the procedure.

3.2. Solution Encoding

To implement the application of the algorithm in solving a problem, one of the key tasks is to adopt an appropriate encoding method, which can represent the necessary information about the considered problem. The EDRCFJSP is made up of three sub-problems: machine assignment (MA), worker selection (WS) and operation permutation (OP). Therefore, an encoding method with three vectors is adopted to represent the scheduling solution, namely the MA vector, the WS vector and the OP vector, which represent the assignment of operations to machines, the selection of workers for machines and the processing sequence of operations on machines. The size of each vector is equal to the numbers of all operations.
Taking a 3 × 3 × 2 (three jobs, three machines and two workers) problem for example, it is assumed that each job consists of three operations. Therefore, the length of each vector is equal to nine. The encoding method can be illustrated by Figure 1. For the OP vector, the operation-based encoding method is used. In this vector, each element with an integer value represents the job index. The elements with the same values represent different operations in the same job. For the MA vector, each element with an integer value denotes the assigned machine for an operation. For the WS vector, each element with an integer value indicates the selected worker for a machine. The elements in the WS and MA vectors are stored in a given order according to the identification number of the jobs and operations.

3.3. Population Initialization

As a swarm intelligence algorithm, the quality of initial solutions is crucial for the performance of the algorithm. Here, a two-phase initialization method is proposed to obtain the initial population by some dispatching rules. In the first phase, two dispatching rules in [35] are employed to generate the OP vector. Most work remaining (MWR) means that the job with the maximal total processing time has the highest priority to be scheduled. Random rule (RR) means that the operation permutation is obtained in a random manner.
In the second phase, two rules are adopted to generate the MA and WS vectors: the modified assignment rule (MAR) and random rule (RR). The MAR is modified from assignment rule number one in [35], whose pseudo-code is illustrated in Figure 2. The approach considers both the processing times and the workload of the machines. For each operation, the procedure includes finding the combination of the machine and the worker with the minimum processing time, fixing that assignment, and then adding this time to the entries in the columns with the selected machine. The RR means that the worker and the machine are randomly selected for the corresponding operation.

3.4. Neighborhood Structure

In MBO, the solutions are updated by searching neighborhoods. Thus, six neighborhood structures are employed in this section to generate neighboring solutions. The first structure attempts to change the operation sequencing, and the second structure aims to change the machine assignment and the worker selection. The third structure is used to change the worker selection. The fourth and the sixth structures are the combination of other structures. In the algorithm, the neighborhood structures are randomly selected to generate the neighboring solutions.
N B 1 : Randomly select two elements with different values from the OP vector, and then the selected elements are exchanged.
N B 2 : Randomly select an element from the MA vector, and a different machine is randomly selected from the eligible machine set of the corresponding operation to replace the original one. Then a new worker is randomly selected from the eligible worker set of the selected machine.
N B 3 : Randomly select an element from the WS vector and find out the corresponding machine for the operation. Then, a different worker is randomly selected from the eligible worker set of the corresponding machine to replace the original one.
N B 4 : It is a combination of neighborhood structures N B 1 and N B 2 . The neighboring solution is obtained by performing the two neighborhood structures simultaneously.
N B 5 : It is a combination of neighborhood structures N B 1 and N B 3 . The neighboring solution is obtained by performing the two neighborhood structures simultaneously.
N B 6 : It is a combination of neighborhood structures N B 1 , N B 2 and N B 3 . The neighboring solution is obtained by performing the three neighborhood structures simultaneously.

3.5. Aging-Based Re-Initialization Mechanism

As the evolutionary process of the algorithm proceeds, the population may achieve a low diversity which makes the algorithm stall around a local optimum. To overcome this drawback, an aging-based re-initialization mechanism is adopted to increase the possibility of jumping out of the local optima and improving the search ability of the algorithm. In the aging-based re-initialization mechanism, the ‘age’ is used to describe the updating process of each individual bird. For a newly generated individual, the age is initially set to one. If there is no improvement after one iteration, the age will be increased by one. If it is larger than the predefined lifespan l s , the re-initialization procedure is invoked to reinitialize the individual following the initialization method in Section 3.3.

3.6. Local Search Strategy

To further enhance the search ability, the local search strategy is always embedded into various intelligence algorithms [36,37]. Here, the local search strategy starts from a given solution and stops when the predefined maximum number of iterations is met. The detailed steps of the local search are shown as follow:
Step 1: Obtain the initial solution π , and set c t = 1 and determine the maximum iteration number ρ max .
Step 2: Randomly select a neighborhood structure to obtain a new solution π .
Step 3: If T E C ( π ) < T E C ( π ) , set π = π .
Step 3: Set c t = c t + 1 .
Step 4: Judge whether c t > ρ max is satisfied. If yes, go to Step 5, otherwise, go to Step 2.
Step 5: End the procedure.

3.7. Procedure of the Proposed Algorithm

To implement the proposed MMBO, some items are designed according to the characteristics of the problem, such as encoding, population initialization, neighborhood structure, aging-based re-initialization and local search. Based on these items, the detailed steps of the proposed MMBO are shown as follows:
Step 1: Set the related parameters of the MMBO algorithm, such as the population size p o p s i z e , the number of neighboring solutions k , the number of shared neighboring solutions x , the number of tours G , the predefined lifespan l s , and the maximum iteration Kmax.
Step 2: Generate the initial population following the method in Section 3.3.
Step 3: Set the iteration number K 1 , the tour number g 1 , the flag numer f l a g 1 .
Step 4: Randomly generate k neighboring solutions of the leader bird. Improve the leader solution and fill the shared neighboring sets S L and S R , each of which has x elements.
Step 5: For each solution π L in the left line L , randomly generate k x neighboring solutions. N L represents the set of the k x neighbors. The best solution in N L S L is used to replace the original solution. Empty S L and refill it by using x best unused solutions in N L S L .
Step 6: For each solution π R in the right line R , randomly generate k x neighboring solutions. N R represents the set of the k x neighbors. The best solution in N R S R is used to replace the original solution. Empty S R and refill it by using x best unused solutions in N R S R .
Step 7: Update the current best solution and the age of each individual.
Step 8: Set g g + 1 . If the number of tours G is met, go to Step 9; otherwise, go to Step 4.
Step 9: Check the age of each individual and perform the re-initialization mechanism when the age is larger than ls.
Step 10: Perform the local search to the current best individual.
Step 11: If f l a g = 1 , move the leader to the end of L , and set the first solution of L as the new leader, and let f l a g = 0 ; otherwise, move the leader to the end of R , and set the first solution of R as the new leader, and let f l a g = 1 .
Step 12: Set K K + 1 and check the terminate condition. If K > K max is not met, then set g 1 , and go to Step 4; otherwise, go to Step 13.
Step 13: End the procedure.

4. Computational Results and Discussion

This section reports the computational results to evaluate the performance of the proposed algorithm. All experiments are implemented by FORTRAN language and run on VMware Workstation with 2GB main memory under WinXP. To this end, some testing data need to be generated. Here, a set of instances with the number of jobs n { 10 , 20 , 30 , 5 0 , 80 } and the number of machines m { 10 , 15 , 20 , 25 } are considered. Twenty instances are generated for each combination of n and m . In addition, some other parameters are randomly generated in the given range following a discrete uniform distribution in Table 1. For each instance, ten independent replications are conducted to get statistical results.
n o p represents the number of eligible machines for each operation, n w k denotes the number of eligible workers for each machine.

4.1. Effectiveness of the Improvement Strategy

In this paper, three improvement strategies are adopted to enhance the performance of the proposed algorithm, such as population initialization method, aging-based re-initialization mechanism and local search strategy. Here, we first test the effectiveness of the three improvement strategies. In Table 2, the first column shows the names of different instances, other columns report the computational data. ‘MMBO’ is our proposed algorithm. ‘MBO1’ is the algorithm where the random rule is only used to generate the initial population. ‘MBO2’ represents the algorithm where the aging-based re-initialization mechanism is excluded from the MMBO. ‘MBO3’ is the algorithm where the local search strategy is excluded from the MMBO. In the table, ‘Best’ represents the best value in the ten runs. ‘Avg.’ denotes the average result in the ten runs. The average relative percent deviation (ARPD) is measured by Equation (18).
A R P D = n r = 1 N R 100 × ( A l g n r M i n ) M i n / N R
where ‘Min’ is the minimum value obtained by all compared algorithms. ‘Time’ is the average time (in seconds) of the ten runs. For each instance, boldface represents the best value obtained by all compared algorithms.
For the MMBO, the parameters are set according to the recommendations by Duman et al. [13], which are shown as follows: the population size p o p s i z e = 51; the number of neighboring solutions k = 3; the number of the shared neighboring solutions x = 1 ; and the number of tours G = 10. In addition, we set ls = 50, ρ max = 10 and the maximum iteration K max = 500 . To be fair, MBO1, MBO2 and MBO3 are set with the same parameters. According to Table 2, it can be observed that: (1) the MMBO algorithm obtains the 12 best values in comparison with the best value and outperforms other compared algorithms. The second-best algorithm, namely MBO2, can obtain the six best values; (2) the MMBO algorithm yields the eight best values in comparisons with both the average value and the ARPD value, which performs better than other algorithms. The second-best algorithm, namely MBO2, can obtain the seven best values in comparisons with both the average value and the ARPD value; (3) in comparisons with the ‘time’ value, the MMBO has a longer computational time than other algorithms due to the introduction of the improvement strategies.
To test whether the differences from the algorithms in Table 2 are significant or not, an analysis of variance (ANOVA) is conducted in Table 3, where all the algorithms are viewed as the factors. The results demonstrate that there is a statistically significant difference between the compared algorithms since the p value is smaller than 0.05.

4.2. Effectiveness of the Proposed MMBO

To test the effectiveness of the MMBO algorithm, it is compared with three existing algorithms, named the variable neighborhood structure (VNS) [19] and the improved whale optimization algorithm (IWOA) [38]. The VNS was developed to solve the DRCFJSP and can be directly employed to deal with the problem under study. The IWOA was developed for the energy-efficient job shop scheduling problem. The scheduling solution representation and the individual position vector are used to adapt the IWOA to the considered problem. The parameters of the compared algorithm are set as follows: For the VNS, the parameters are set as those in [19], i.e., θ = 0.5 , t r s t = 35,000 and i t e r max = 65,000. For the IWOA, the population size is 50, and the maximum iteration is 2000, which are the same as those of the MMBO algorithm. To obtain the computational results of the VNS and the IWOA, ten independent replications are conducted with these two algorithms for each instance. As seen from Table 4, the MMBO has the longest computational time, but it can yield 20 values in comparison with the Best, Avg. and ARPD values. Figure 3 and Figure 4 show that the proposed MMBO algorithm has a good convergence property.
To test whether the differences from the algorithms in Table 4 are significant or not, an analysis of variance (ANOVA) is conducted in Table 5, where all the algorithms are viewed as the factors. The results demonstrate that there is a statistically significant difference between the compared algorithms since the p value is smaller than 0.05.

5. Conclusions

This study investigated an energy-aware dual-resource constrained flexible job shop scheduling problem (EDRCFJSP). The energy consumption model is first built to represent the energy consumption in the workshop. A mathematical model is subsequently established to optimize the total energy consumption. To deal with the problem, a modified migrating birds optimization algorithm (MMBO) is proposed according to the characteristics of the considered problem. Extensive experiments are conducted to demonstrate the effectiveness of the MMBO algorithm. As seen from the comparison results, the proposed improvement strategies can effectively enhance the search ability of the algorithm. In addition, the proposed MMBO algorithm outperforms the existing algorithms in comparison with three computational indicators, which shows the effectiveness of the algorithm in solving the problem under study. However, compared with the existing algorithms, MMBO has a longer computational time.
In a future work, the EDRCFJSP will be further studied to make it more closely resemble realistic production. Some realistic constraints will be considered, such as controllable machining speeds, time of use (TOU) electricity price policy, job deterioration effects and transportation constraints. In addition, some uncertain events should be considered, such as machine breakdown and the arrival of new jobs. Furthermore, some efforts are necessary in the design of more efficient algorithms.

Author Contributions

Methodology, H.L. and H.Z.; writing—original draft, H.L. and T.J.; Writing—review & editing, H.Z.; Funding acquisition, T.J. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Shandong Provincial Natural Science Foundation, grant number ZR2016GP02 and the Project of Shandong Province Higher Educational Science and Technology Program, grant number J17KA199.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Jiang, T.; Zhang, C.; Zhu, H.; Deng, G. Energy-efficient scheduling for a job shop using grey wolf optimization algorithm with double-searching mode. Math. Probl. Eng. 2018, 2018. [Google Scholar] [CrossRef] [Green Version]
  2. Jiang, T.; Zhang, C.; Sun, Q.M. Green job shop scheduling problem with discrete whale optimization algorithm. IEEE Access 2019, 7, 43153–43166. [Google Scholar]
  3. Lu, Y.; Jiang, T. Bi-population based discrete bat algorithm for the low-carbon job shop scheduling problem. IEEE Access 2019, 7, 14513–14522. [Google Scholar]
  4. Jiang, T.; Zhang, C. Application of grey wolf optimization for solving combinatorial problems: Job shop and flexible job shop scheduling cases. IEEE Access 2018, 6, 26231–26240. [Google Scholar]
  5. Jiang, T.; Zhang, C. Adaptive discrete cat swarm optimisation algorithm for the flexible job shop problem. Int. J. Bio-Inspired Comput. 2019, 13, 199–208. [Google Scholar]
  6. Mokhtari, H.; Hasani, A. An energy-efficient multi-objective optimization for flexible job-shop scheduling problem. Comput. Chem. Eng. 2017, 104, 339–352. [Google Scholar]
  7. Lei, D.; Zheng, Y.; Guo, X. A shuffled frog-leaping algorithm for flexible job shop scheduling with the consideration of energy consumption. Int. J. Prod. Res. 2017, 55, 3126–3140. [Google Scholar]
  8. Wu, X.; Sun, Y. A green scheduling algorithm for flexible job shop with energy-saving measures. J. Clean. Prod. 2018, 172, 3249–3264. [Google Scholar]
  9. Wang, H.; Jiang, Z.; Wang, Y.; Zhang, H.; Wang, Y.-H. A two-stage optimization method for energy-saving flexible job-shop scheduling based on energy dynamic characterization. J. Clean. Prod. 2018, 188, 575–588. [Google Scholar]
  10. Lei, D.; Li, M.; Wang, L. A two-phase meta-heuristic for multiobjective flexible job shop scheduling problem with total energy consumption threshold. IEEE Trans. Cybern. 2018, 49, 1097–1109. [Google Scholar]
  11. Meng, L.; Zhang, C.; Shao, X.; Ren, Y. MILP models for energy-aware flexible job shop scheduling problem. J. Clean. Prod. 2019, 210, 710–723. [Google Scholar]
  12. Jiang, T.; Deng, G. Optimizing the low-carbon flexible job shop scheduling problem considering energy consumption. IEEE Access 2018, 6, 46346–46355. [Google Scholar]
  13. Yin, L.; Li, X.; Gao, L.; Lu, C.; Zhang, Z. A novel mathematical model and multi-objective method for the low-carbon flexible job shop scheduling problem. Sustain. Comput. 2017, 13, 15–30. [Google Scholar]
  14. Song, W.J.; Zhang, C.Y.; Lin, W.W.; Shao, X.Y. Flexible job-shop scheduling problem with maintenance activities considering energy consumption. Appl. Mech. Mater. 2014, 521, 707–713. [Google Scholar]
  15. Liu, Z.; Guo, S.; Wang, L. Integrated green scheduling optimization of flexible job shop and crane transportation considering comprehensive energy consumption. J. Clean. Prod. 2019, 211, 765–786. [Google Scholar]
  16. Zhang, H.; Dai, Z.; Zhang, W.; Zhang, S.; Wang, Y.; Liu, R. A new Energy-Aware flexible job shop scheduling method using modified Biogeography-Based optimization. Math. Probl. Eng. 2017, 2017, 7249876. [Google Scholar]
  17. Zhang, X.; Ji, Z.; Wang, Y. An improved SFLA for flexible job shop scheduling problem considering energy consumption. Mod. Phys. Lett. B 2018, 32, 1840112. [Google Scholar]
  18. Lu, Y.; Lu, J.; Jiang, T. Energy-conscious scheduling problem in a flexible job shop using a discrete water wave optimization algorithm. IEEE Access 2019, 7, 101561–101574. [Google Scholar]
  19. Lei, D.; Guo, X. Variable neighbourhood search for dual-resource constrained flexible job shop scheduling. Int. J. Prod. Res. 2014, 52, 2519–2529. [Google Scholar]
  20. Meng, L.; Zhang, C.; Zhang, B.; Ren, Y. Mathematical modeling and optimization of energy-conscious flexible job shop scheduling problem with worker flexibility. IEEE Access 2019, 7, 68043–68059. [Google Scholar]
  21. Kalra, M.; Singh, S. A review of metaheuristic scheduling techniques in cloud computing. Egypt. Inform. J. 2015, 16, 275–295. [Google Scholar]
  22. Strumberger, I.; Bacanin, N.; Tuba, M.; Tuba, E. Resource Scheduling in Cloud Computing Based on a Hybridized Whale Optimization Algorithm. Appl. Sci. 2019, 9, 4893. [Google Scholar]
  23. Sreenu, K.; Sreelatha, M. W-Scheduler: Whale optimization for task scheduling in cloud computing. Clust. Comput. 2019, 22, 1087–1098. [Google Scholar]
  24. Strumberger, I.; Minovic, M.; Tuba, M.; Bacanin, N. Performance of elephant herding optimization and tree growth algorithm adapted for node localization in wireless sensor networks. Sensors 2019, 19, 2515. [Google Scholar]
  25. Yang, X.S. Swarm intelligence based algorithms: A critical analysis. Evol. Intell. 2014, 7, 17–28. [Google Scholar]
  26. Suganuma, M.; Shirakawa, S.; Nagao, T. A genetic programming approach to designing convolutional neural network architectures. In Proceedings of the Genetic and Evolutionary Computation Conference, Berlin, Germany, 15–19 July 2017; pp. 497–504. [Google Scholar]
  27. Tuba, M.; Bacanin, N. Improved seeker optimization algorithm hybridized with firefly algorithm for constrained optimization problems. Neurocomputing 2014, 143, 197–207. [Google Scholar]
  28. Strumberger, I.; Tuba, E.; Bacanin, N. Dynamic tree growth algorithm for load scheduling in cloud environments. In Proceedings of the 2019 IEEE Congress on Evolutionary Computation (CEC), Wellington, New Zealand, 10–13 June 2019; pp. 65–72. [Google Scholar]
  29. Duman, E.; Uysal, M.; Alkaya, A.F. Migrating Birds Optimization: A new metaheuristic approach and its performance on quadratic assignment problem. Inf. Sci. 2012, 217, 65–77. [Google Scholar]
  30. Meng, T.; Pan, Q.K.; Li, J.Q.; Tuba, M. An improved migrating birds optimization for an integrated lot-streaming flow shop scheduling problem. Swarm Evol. Comput. 2018, 38, 64–78. [Google Scholar]
  31. Niroomand, S.; Hadi-Vencheh, A.; Şahin, R.; Vizvári, B. Modified migrating birds optimization algorithm for closed loop layout with exact distances in flexible manufacturing systems. Expert Syst. Appl. 2015, 42, 6586–6597. [Google Scholar]
  32. Ulker, E.; Tongur, V. Migrating birds optimization (MBO) algorithm to solve knapsack problem. Procedia Comput. Sci. 2017, 111, 71–76. [Google Scholar]
  33. Tongur, V.; Ülker, E. The analysis of migrating birds optimization algorithm with neighborhood operator on traveling salesman problem. In Intelligent and Evolutionary Systems; Springer: Cham, Switzerland, 2016; pp. 227–237. [Google Scholar]
  34. Oz, D. An improvement on the Migrating Birds Optimization with a problem-specific neighboring function for the multi-objective task allocation problem. Expert Syst. Appl. 2017, 67, 304–311. [Google Scholar]
  35. Pezzella, F.; Morganti, G.; Ciaschetti, G. A genetic algorithm for the flexible job-shop scheduling problem. Comput. Oper. Res. 2008, 35, 3202–3212. [Google Scholar]
  36. Jovanovic, R.; Voß, S. Fixed Set Search Applied to the Minimum Weighted Vertex Cover Problem. In International Symposium on Experimental Algorithms; Springer: Cham, Switzerland, 2019; pp. 490–504. [Google Scholar]
  37. Jovanovic, R.; Tuba, M.; Voß, S. Fixed set search applied to the traveling salesman problem. In International Workshop on Hybrid Metaheuristics; Springer: Cham, Switzerland, 2019; pp. 63–77. [Google Scholar]
  38. Jiang, T.; Zhang, C.; Zhu, H.; Deng, G. Energy-efficient scheduling for a job shop using an improved whale optimization algorithm. Mathematics 2018, 6, 220–239. [Google Scholar]
Figure 1. A scheduling scheme for a 3 × 3 × 2 energy-aware dual-resource constrained flexible job shop scheduling problem (EDRCFJSP) with three jobs, three machines and two workers.
Figure 1. A scheduling scheme for a 3 × 3 × 2 energy-aware dual-resource constrained flexible job shop scheduling problem (EDRCFJSP) with three jobs, three machines and two workers.
Algorithms 13 00044 g001
Figure 2. Pseudo-code of the modified assignment rule (MAR).
Figure 2. Pseudo-code of the modified assignment rule (MAR).
Algorithms 13 00044 g002
Figure 3. Convergence curve of the compared algorithms in Instance RM09.
Figure 3. Convergence curve of the compared algorithms in Instance RM09.
Algorithms 13 00044 g003
Figure 4. Convergence curve of the compared algorithms in Instance RM14.
Figure 4. Convergence curve of the compared algorithms in Instance RM14.
Algorithms 13 00044 g004
Table 1. Some parameters for the EDRCFJSP.
Table 1. Some parameters for the EDRCFJSP.
J i nop w n w k p i j k l E i j k l S E k T U l S T h z i j l C E
[1, 5][2, m] m × 0.6 [2, w][15, 30][10, 20][6, 12][5, 10][1, 3][12, 20]
Table 2. Effectiveness analysis of improvement strategies.
Table 2. Effectiveness analysis of improvement strategies.
Instance m × n × w MMBOMBO1
BestAvg.ARPDTimeBestAvg.ARPDTime
RM0110 × 10 × 695889865.53.5323.8969610,089.85.8924.0
RM0210 × 20 × 622,34722,970.02.7966.724,08024,336.48.9064.3
RM0310 × 30 × 633,35134,018.92.88130.534,99935,830.68.36121.5
RM0410 × 50 × 657,29858,542.52.48303.562,47563,914.811.89279.2
RM0510 × 80 × 6113,813116,054.41.97667.5126,105129,280.613.59658.6
RM0615 × 10 × 983248598.83.3030.584218708.44.6229.0
RM0715 × 20 × 918,33419,149.94.4584.719,43719,767.87.8272.5
RM0815 × 30 × 929,06329,906.42.98150.730,33831,387.48.08130.6
RM0915 × 50 × 954,17255,361.12.51355.958,18658,710.68.71300.1
RM1015 × 80 × 9103,491104,707.11.18820.9115,624117,196.613.24729.4
RM1120 × 10 × 1282598457.52.4037.483708493.42.8430.0
RM1220 × 20 × 1217,73618,447.04.01103.018,86319106.07.7278.0
RM1320 × 30 × 1227,73228,833.53.97194.928,96129,667.26.98146.5
RM1420 × 50 × 1252,21353,483.02.43426.454,48355,211.85.74344.6
RM1520 × 80 × 1298,071100,441.32.42944.4107,788110,569.812.74758.8
RM1625 × 10 × 1577047828.32.1242.476667782.41.5232.7
RM1725 × 20 × 1516,62116,964.32.07114.316,88817,551.45.6090.3
RM1825 × 30 × 1525,70826,074.52.83203.626,44226,712.85.35162.1
RM1925 × 50 × 1549,02050,020.32.89436.250,87452,262.47.50374.5
RM2025 × 80 × 1596,02997,181.21.201099.2105,785106,591.211.00823.2
Instance m × n × w MBO2MBO3
BestAvg.ARPDTimeBestAvg.ARPDTime
RM0110 × 10 × 695299850.83.3823.597069918.84.0927.4
RM0210 × 20 × 622,62723,807.26.5364.522,86823,185.23.7574.0
RM0310 × 30 × 633,06533,810.72.26117.233,58333,970.82.74132.0
RM0410 × 50 × 657,12358,310.02.08276.057,97158,585.22.56304.3
RM0510 × 80 × 6115,800117,652.83.37632.8115,076117,048.82.84690.7
RM0615 × 10 × 984708633.73.7225.984078603.43.3630.2
RM0715 × 20 × 919,03519,387.75.7574.218,86819,362.25.6186.5
RM0815 × 30 × 929,04229,796.72.60122.929,37929,854.42.80152.7
RM0915 × 50 × 954,00755,111.92.05293.854,25355,768.83.26341.0
RM1015 × 80 × 9103,888104,957.71.42719.6104,286105,955.22.38780.8
RM1120 × 10 × 1283278489.92.8028.782878404.61.7635.5
RM1220 × 20 × 1217,86418,519.74.4285.317,80318,283.83.09102.5
RM1320 × 30 × 1227,91628,451.32.59147.128,24728,491.62.74165.1
RM1420 × 50 × 1253,01453,582.42.62338.252,35553,707.62.86419.2
RM1520 × 80 × 1298,552100,016.51.98788.498,24899,705.21.67859.5
RM1625 × 10 × 1576727796.31.7029.176667816.01.9642.0
RM1725 × 20 × 1516,77016,994.22.2579.816,68517,266.43.88109.3
RM1825 × 30 × 1525,47825,818.91.83140.425,35625,763.21.61193.3
RM1925 × 50 × 1548,61649,959.32.76319.149,87050,074.03.00466.1
RM2025 × 80 × 1597,47498,483.82.56777.596,96697,951.42.001037.6
Table 3. Analysis of variance (ANOVA) for the average relative percent deviation (ARPD) of the compared algorithms in Table 2.
Table 3. Analysis of variance (ANOVA) for the average relative percent deviation (ARPD) of the compared algorithms in Table 2.
SourceDFSum of SquaresMean SquareF Valuep Value
Factor3383.63937127.8797935.401112.0095 × 10−14
Error76274.535573.61231
Total79658.17494
Table 4. Comparison results of different algorithms.
Table 4. Comparison results of different algorithms.
Instance m × n × w MMBOVNSIWOA
BestAvg.ARPDTimeBestAvg.ARPDTimeBestAvg.ARPDTime
RM0110 × 10 × 695889865.52.8923.8983910,244.86.857.311,08911,307.017.938.1
RM0210 × 20 × 622,34722,970.02.7966.724,09625,18612.7010.329,25830,355.635.8421.4
RM0310 × 30 × 633,35134,018.92.00130.536,10337,296.411.8314.741,63144,732.834.1339.7
RM0410 × 50 × 657,29858,542.52.17303.563,47564,937.213.3327.680,90185,493.249.2191.9
RM0510 × 80 × 6113,813116,054.41.97667.5127,773131,051.215.1561.9183,505186,510.663.87212.9
RM0615 × 10 × 983248598.83.3030.588228985.27.948.5985110,147.821.918.5
RM0715 × 20 × 918,33419,149.94.4584.721,07921,417.816.8211.423,14324,873.435.6723.3
RM0815 × 30 × 929,06329,906.42.90150.731,38232,548.011.9915.640,03041,550.442.9741.1
RM0915 × 50 × 954,17255,361.12.20355.959,49961,39013.3228.077,96182,297.451.92100.0
RM1015 × 80 × 9103,491104,707.11.18820.9118,048121,022.616.9465.6167,560172,48666.67213.8
RM1120 × 10 × 1282598457.52.4037.487298939.08.237.693149851.819.298.9
RM1220 × 20 × 1217,73618,447.04.01103.019,95820,384.614.9311.024,34825,053.441.2624.9
RM1320 × 30 × 1227,73228,833.53.97194.930,35931,759.214.5215.638,45740,512.646.0943.1
RM1420 × 50 × 1252,21353,483.02.43426.458,90559,95714.8331.281,69985,436.063.63105.7
RM1520 × 80 × 1298,071100,441.32.42944.4110,985113,107.015.3367.4155,883168,369.871.68237.1
RM1625 × 10 × 1577047828.31.6142.481178359.08.508.089769318.220.959.6
RM1725 × 20 × 1516,62116,964.32.07114.318,30419,131.015.1012.423,12623,744.242.8625.8
RM1825 × 30 × 1525,70826,074.51.43203.629,20429,598.015.1316.637,90238,599.650.1547.2
RM1925 × 50 × 1549,02050,020.32.04436.255,36056,950.616.1831.376,84880,789.464.81106.6
RM2025 × 80 × 1596,02997,181.21.201099.2107,528111,204.615.8071.7161,517170,567.477.62258.5
Table 5. ANOVA for ARPD of the compared algorithms in Table 4.
Table 5. ANOVA for ARPD of the compared algorithms in Table 4.
SourceDFSum of SquaresMean SquareF Valuep Value
Factor21555.056777.528115.419360
Error57383.983226.73655
Total591939.03922

Share and Cite

MDPI and ACS Style

Li, H.; Zhu, H.; Jiang, T. Modified Migrating Birds Optimization for Energy-Aware Flexible Job Shop Scheduling Problem. Algorithms 2020, 13, 44. https://doi.org/10.3390/a13020044

AMA Style

Li H, Zhu H, Jiang T. Modified Migrating Birds Optimization for Energy-Aware Flexible Job Shop Scheduling Problem. Algorithms. 2020; 13(2):44. https://doi.org/10.3390/a13020044

Chicago/Turabian Style

Li, Hongchan, Haodong Zhu, and Tianhua Jiang. 2020. "Modified Migrating Birds Optimization for Energy-Aware Flexible Job Shop Scheduling Problem" Algorithms 13, no. 2: 44. https://doi.org/10.3390/a13020044

APA Style

Li, H., Zhu, H., & Jiang, T. (2020). Modified Migrating Birds Optimization for Energy-Aware Flexible Job Shop Scheduling Problem. Algorithms, 13(2), 44. https://doi.org/10.3390/a13020044

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