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

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.


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 energysaving 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 dualresource 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.

Problem Description
In the workshop, n independent jobs are supposed to be processed on m machines with w workers. For each job i , i J 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: otherwise, ijkl y = 0;

Processing Energy Consumption
The processing energy consumption ( 1 E ) denotes the energy consumed by machines for processing operations, which can be formulated by Equation (1).

Idle Energy Consumption
The idle energy consumption ( 2 E ) represents the energy consumed by machines during the time interval between each pair of consecutive jobs, which can be represented by Equation (2).

Setup Energy Consumption
The energy consumption ( 3 E ) defines the energy consumed by machines during the setup process for each pair of consecutive jobs assigned to the same machine.

Common Energy Consumption
The common energy consumption ( 4 E ) is the energy consumed for maintaining the daily operation of the workshop, such as lighting and air conditioning, which can be calculated by Equation

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).

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.
, , 1, 2, , ; , 1, 2, , ; 1, 2, , , , 1, 2, , ; , 1, 2, , ; 1, 2, , min{ }, 1, 2, , ; 1, 2, , ; 1, 2, , ; 1, 2, , 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.

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 reinitialization mechanism are developed to avoid premature convergence.

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 popsize , the number of neighboring solutions k ′ , the number of shared neighboring solutions x , the number of tours G , the predefined lifespan ls , and the maximum iteration Kmax.
Step 2: Generate the initial population in a random manner.
Step 3: Set the iteration number 1 K ← , the tour number 1 g ← , the flag numer 1 flag ← .
Step 4: Randomly generate k ′ neighboring solutions of the leader bird. Improve the leader solution and fill the shared neighboring sets L S and R S , each of which has x elements.
Step Step 7: Evaluate the fitness value of each individual and update the current best solution.
Step 8: Set 1 g g ← + . If the number of tours G is met, go to Step 9; otherwise, go to Step 4. Step 10: Set 1 K K ← + and check the terminate condition. If max K K > is not met, then set 1 g ← , and go to Step 4; otherwise, go to Step 11.
Step 11: End the procedure.

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.

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.

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.

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 ls , the re-initialization procedure is invoked to reinitialize the individual following the initialization method in Section 3.3.

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 1 ct = and determine the maximum iteration number max ρ .
Step 2: Randomly select a neighborhood structure to obtain a new solution π ′ .
Step 4: Judge whether max ct ρ > is satisfied. If yes, go to Step 5, otherwise, go to Step 2.
Step 5: End the procedure.

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 reinitialization 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 popsize , the number of neighboring solutions k ′ , the number of shared neighboring solutions x , the number of tours G , the predefined lifespan ls , and the maximum iteration Kmax.
Step 2: Generate the initial population following the method in Section 3.3.
Step 3: Set the iteration number 1 K ← , the tour number 1 g ← , the flag numer 1 flag ← .
Step 4: Randomly generate k ′ neighboring solutions of the leader bird. Improve the leader solution and fill the shared neighboring sets L S and R S , each of which has x elements.
Step Step 7: Update the current best solution and the age of each individual.
Step 8: Set 1 g g ← + . 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 1 flag = , move the leader to the end of L , and set the first solution of L as the new leader, and let 0 flag = ; otherwise, move the leader to the end of R , and set the first solution of R as the new leader, and let 1 flag = .
Step 12: Set 1 K K ← + and check the terminate condition. If max K K > is not met, then set 1 g ← , and go to Step 4; otherwise, go to Step 13.
Step 13: End the procedure.

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 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.
nop represents the number of eligible machines for each operation, nwk denotes the number of eligible workers for each machine.

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).
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 popsize = 51; the number of neighboring solutions k ′ = 3; the number of the shared neighboring solutions 1 x = ; and the number of tours G = 10. In addition, we set ls = 50, max ρ = 10 and the maximum iteration max 500 K = . 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.

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 θ = , 35000 rst t = and max iter = 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. Figures 3 and 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.

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.

Conflicts of Interest:
The authors declare no conflict of interest.