Abstract
This paper presents a discrete animal migration optimization (DAMO) to solve the dual-resource constrained energy-saving flexible job shop scheduling problem (DRCESFJSP), with the aim of minimizing the total energy consumption in the workshop. A job-resource-based two-vector encoding method is designed to represent the scheduling solution, and an energy-saving decoding approach is given based on the left-shift rule. To ensure the quality and diversity of initial scheduling solutions, a heuristic approach is employed for the resource assignment, and some dispatching rules are applied to acquire the operation permutation. In the proposed DAMO, based on the characteristics of the DRCESFJSP problem, the search operators of the basic AMO are discretized to adapt to the problem under study. An animal migration operator is presented based on six problem-based neighborhood structures, which dynamically changes the search scale of each animal according to its solution quality. An individual updating operator based on crossover operation is designed to obtain new individuals through the crossover operation between the current individual and the best individual or a random individual. To evaluate the performance of the proposed algorithm, the Taguchi design of experiment method is first applied to obtain the best combination of parameters. Numerical experiments are carried out based on 32 instances in the existing literature. Computational data and statistical comparisons indicate that both the left-shift decoding rule and population initialization strategy are effective in enhancing the quality of the scheduling solutions. It also demonstrate that the proposed DAMO has advantages against other compared algorithms in terms of the solving accuracy for solving the DRCESFJSP.
Keywords
Introduction
Flexible Job Shop Scheduling Problem (FJSP) has strong theoretical significance and application background, which has been widely paid attention by scholars [1]. Most of the previous work on FJSP only consider the scheduling problem with limited machine resource. However, in the actual production, there are more than one type of resources that affect the workshop production simultaneously, such as labor, gas, fund, fixture, transporter, and so on. Considering the increasing labor cost, it is very important to make a proper use of the limited workers in the workshop. In recent years, the FJSP with worker and machine resources, namely dual-resource constrained flexible job shop scheduling problem (DRCFJSP), has aroused the interest of scholars at home and abroad. Compared with the traditional FJSP, the DRCFJSP is a more complex NP-hard problem. However, to the best of our knowledge, small number of literature addressed the DRC scheduling problem in FJSP environment [2–6]. There still exists much work to be done to make the problem closer to the practical production. With regard to most of the existing literature on the DRCFJSP, the economic indicators related to time, quality or cost are considered, and the environmental indicators are always ignored, such as CO2 emission, carbon footprint, noise pollution, and energy consumption, and so on.
With the increasing of environmental deterioration and energy crisis, manufacturing industries are encouraged to draw up some measurements to reduce the energy consumption from different directions, such as machine level, product level and management level. Limited by some financial constraints, small-scale enterprises may not purchase energy-saving machines and design energy-efficient products. Therefore, the existing literature have mainly focused on the management level [7]. In recent years, the energy-saving FJSP has gradually become a research hotspot [8–22]. A summary of research on energy-saving FJSP is presented in Table 1. Observed from Table 1, the current literature have seldom considered the dual-resource constrained energy-saving flexible job shop scheduling problem (DRCESFJSP), most of which only focus on the machine constraints, and ignore the influence of worker allocation on the reduction of the energy consumption in the workshop. However, energy-saving scheduling and dual-resource constraints often exist simultaneously in the actual flexible job shop. The consideration on energy-saving FJSP with dual-resource constraints can result in good schedule close to the practical production and should be an important topic in the manufacturing field. In addition, as shown in Table 1, a number of meta-heuristic algorithms have been applied to address the energy-saving FJSP because of the NP-hard nature. However, as the famous No Free Lunch (NFL) theorem [23] stated, no meta-heuristic is best suited for all optimization problems. That is to say, a particular meta-heuristic may obtain very promising solutions on a set of problems, but it may show poor performance on a different set of problems [24]. This encourages researchers to modify current algorithms or present new meta-heuristics for solving various optimization problems. Therefore, it is worthwhile to devise a fresh meta-heuristic algorithm for the energy-saving FJSP, especially for the considered DRCESFJSP.
Summary of research on energy-saving FJSP
Summary of research on energy-saving FJSP
With the continuous development of natural science and computer science, a variety of meta-heuristic algorithms have been developed recently to solve various complicated optimization problems [25–31]. Among these existing algorithms, Animal Migration Optimization (AMO) algorithm, as a novel intelligent algorithm, has attracted great research interests, which originates from the natural migration behavior of animals [32]. AMO has many advantages like few adjustable parameters, easy implementation, as well as strong global search ability. Due to its novelty and superiority, AMO has been successfully used to deal with various optimization problems [33–36]. However, there are limited literature adopting AMO to solve energy-efficient flexible job shop scheduling problems, especially with dual-resource constraints. Furthermore, AMO was proposed for continuous optimization problems, which means that it can not be directly used for the discrete production scheduling problems. Therefore, a series of improvement strategies should be specially designed according to the characteristics of the considered problem. In this paper, a discrete animal migration optimization (DAMO) algorithm is proposed for solving the DRCESFJSP considering the total energy consumption to be minimized. In the DAMO, some improvement strategies are employed as follows: (1) A job-resource-based two-vector encoding method is adopted to represent the scheduling solutions, and an energy-saving decoding approach is developed based on the left-shifting rule by considering the dual resource constrains. (2) A population initialization approach is proposed to ensure initial scheduling solutions with a certain quality and diversity. (3) To make the AMO algorithm be suitable for the discrete scheduling problem, a discrete animal migration operator is designed based on six problem-specific neighborhood structures, which can dynamically adjust the search scale of each animal according to its solution quality, a discrete individual updating operator is designed to obtain new individuals through the crossover operation.
The remainder of this paper is organized as follows. In Section 2, the DRCESFJSP is described and modeled. In Section 3, the DAMO is developed, including the encoding/decoding approach, population initialization and discrete search operators. A comparison of experimental results is given in Section 4. Section 5 shows the conclusions.
Assume that the processing task with n jobs needs to be completed by m machines M = {M1, M2, ⋯ , M
m
} and w workers W = {W1, W2, ⋯ , W
w
} in a workshop. For any job i, it contains J
i
operations OP
i
= {Oi1, Oi2, ⋯ , O
iJ
i
}. Each operation O
ij
has an eligible machine set M (O
ij
), and each machine k has an eligible worker set W (k). The processing time depends on the machine assigned to each operation and the workers selected for the processing machine. For the considered problem in this paper, there are mainly two sub-problems, namely resource allocation and operation permutation. The optimization objective is to minimize the total energy consumption of the workshop through effective resource allocation and operation sequencing. For this system, there are several assumptions to be considered: Each worker and machine is available and each job is ready at time zero. Only one job can be processed on a machine at a time. One worker operates only one machine at a time. The job is not allowed to be preempted during processing. The assigned machines and workers can not be adjusted when any job is being processed. Different jobs are independent of each other, and there is a sequence of processing between different operations in a job. Once the machine is started, it is not allowed to be stopped until all jobs on it are completed. The setup times of machines, the movement times of workers and the transportation times of jobs between machines are not taken into account.
Some necessary symbols and variables of the mathematical model are given as below.
TEC: the total energy consumption;
p ijkl : the processing time of O ij on machinek handled by worker l;
PE ijkl : the processing energy coefficient of O ij on machine k handled by worker l;
SE k : the idle energy coefficient of machine k;
CE: the common energy coefficient;
C k : the completion time of machine k;
S k : the start time of machine k;
WL k : the total workload of machine k;
Cmax: the makespan of all jobs;
ST ij : the start time of O ij ;
CT ij : the completion time of O ij ;
Γ: a big position constant;
T kl : the available time of worker l operating machine k;
x ijkl : a 0-1 variable, if O ij is processed on machine k handled by worker l, x ijkl = 1, otherwise, x ijkl = 0;
yiji′j′k: a 0-1 variable, if O ij is processed on machine k adjacently prior to Oi′j′, yiji′j′k = 1, otherwise, yiji′j′k = 0;
ξkk′l: a 0-1 variable, if machine k is handled by worker l adjacently prior to machine k′, ξkk′l = 1, otherwise ξkk′l = 0.
In Equation (1), the first item is the processing energy consumption which is consumed for processing operations, the second item is the idle energy consumption which occurs when the machines are waiting for jobs, and the third item is the common energy consumption which comes from the auxiliary equipment, such as lights and air conditioners. Constraint (2) means that the processing of an operation can not be disturbed. Constraint (3) ensures the precedence relationships between operations of the same job. Constraints (4) and (5) define that each machine can only process one operation at a time. Constraints (6) and (7) represent that each worker cannot handle more than one machine simultaneously. Constraint (8) indicates that each process can only start after the machine and worker are ready. Constraint (9) means that the ready time of machine and the worker can not be smaller than 0. Constraint (10) indicates that the worker and the machine for processing an operation can not be adjusted once they are determined. Constraint (11) represents the machine workload, which is equal to the total processing times of all operations on the machine. Constraints (12) and (13) define the completion time and the start time of each machine. Constraints (14)∼(16) are 0-1 variables.
Basic animal migration optimization
Animal migration optimization (AMO) algorithm is inspired by the natural migration behavior of animals [32]. The process of the algorithm can be divided into animal migration and individual updating. In the migration process, the algorithm updates each individual according to the positions of its neighbors, and simulates the group of animals moving from the current habitat to the new one. This process can be represents by Equation (17).
where t represents the iteration number; X
i
represents the position of individual i; δ is a random number following the Gaussian distribution; Xneighborhood is the position of the neighbor of X
i
. In the individual updating process, individual i will be replaced by the new individual according to probability Pa
i
,
The energy-saving scheduling problem in this paper can be divided into resource allocation problem and process sequencing problem. Therefore, a two-vector encoding method based on jobs and resources is adopted, and the length of each vector is the total number of operations in the workshop. Suppose that a workshop (two workers and three machines) need to complete the processing tasks of three jobs, and each job contains three operations. The encoding scheme is shown in Fig. 1. The first vector represents the operation permutation scheme, and its element value is the number of each job. The same value represents the different operations of the same job, and the appearance order of the operations represents the serial numbers of them in the job. For example, the first ’1’ is the first operation of job 1, and the second ’3’ is the second operation of job 3. The second vector represents the resource allocation scheme, whose element value is the codes of worker and machine assigned for the corresponding operation. For example, the first ’(1,2)’ indicates that the operation O11 is processed on machine 2 handled by worker 1.

Encoding scheme.
In order to reduce the energy consumption, we adopt an energy-saving decoding method based on the left-shift mechanism to compress the idle interval time between adjacent operations on the machine and shorten the maximum completion time of the jobs, so as to achieve the purpose of reducing the idle energy consumption and common energy consumption. The steps of the decoding approach is as follows:
Population initialization
Initial resource allocation
For the initialization of the resource allocation, Li et al. [20] proposed a heuristic method for the resource allocation based on machine workload. That is to find the minimum element value from the constructed processing time matrix, and find the corresponding operation and resources to the element, and then add the element value to the corresponding machine to update the machine workload, and repeat the above procedure until all the operations are allocated. However, the processing energy consumption of machines is not considered. Therefore, a modified resource allocation method is proposed based on the processing energy consumption matrix in this paper. The steps are listed as follows:
In addition to the above allocation method, the random generation method is also used to obtain the initial resource allocation scheme. For each operation, one machine is randomly chosen from the eligible machine set, and then one worker is randomly chosen from the eligible worker set of the machine. The two methods generate the initial resource allocation scheme according to a certain proportion. In this paper, 80% of the individuals use the modified resource allocation method and the remaining 20% use the random generation method.
Initial operation permutation
For each generated resource allocation scheme, three dispatching rules proposed by Pezzella et al. [37] are selected with the same probability to generate several operation permutation schemes. Each combination of the resource allocation scheme and the operation permutation scheme is evaluated, and the group with the minimum objective value is determined as an initial scheduling solution. Here, the three dispatching rules are adopted as below.
Discrete search operators
It can be seen from Equations (17) and (18) that the basic AMO algorithm is suitable for the continuous optimization problems, while for the discrete shop scheduling problem, a series of discretization methods are needed for designing the two search operators: animal migration operator and individual update operator.
Animal migration operator
As mentioned before, AMO algorithm updates the position of each individual according to the information of its neighbors, so as to realize the population migration operation. Therefore, according to the feature of the problem, six neighborhood structures are employed in this section. For each individual i, a neighborhood structure is randomly selected and performed δ i times of neighboring operations to obtain a new solution. The value of δ i is calculated by Equation (19). If the new solution is superior to the original one, the new solution is accepted, otherwise, the original solution keeps unchanged.
where TEC i is the objective value of individual i; TECmax, TECmin are the objective values of the worst individual and the best individual in the current population, respectively; δmax, δmin are the maximum value and the minimum value of δ i , which are equal to 5 and 1 in this paper. It can be seen from Equation (4) that better individuals perform neighborhood operations for fewer times to prevent individuals from being destroyed, while poorer individuals perform neighborhood operations for more times to search for better solutions.
(1) Neighborhood structure NH1: Randomly select two different elements in the operation permutation vector, and then swap the positions of the selected elements.
(2) Neighborhood structure NH2: Select an element at random in the resource allocation vector, choose a different machine from the eligible machine set of the corresponding operation of the element, and then select a different worker from the eligible worker set of the machine.
(3) Neighborhood structure NH3: Select an element at random in the resource allocation vector, and select a different worker from the eligible worker set of the machine corresponding to the operation of the element.
(4) Neighborhood structure NH4: Execute the two neighborhood structures NH1 and NH2 simultaneously.
(5) Neighborhood structure NH5: Execute the two neighborhood structures NH1 and NH3 simultaneously.
(6) Neighborhood structure NH6: Execute the three neighborhood structures NH1, NH2 and NH3 simultaneously.
It can be observed from Equation (18) that the basic AMO algorithm updates the individuals according to the information of the current best individual and random individuals. Here, we propose a discrete individual updating method based on crossover operation, as shown in Equation (20).
c1, c2 represent the crossover rate; ‘⊗’ Indicates that a crossover operation is performed after the condition to the left of the symbol is satisfied; CR represents the crossover operation. In this paper, the POX crossover is used for the operation permutation vector, by which jobs are randomly divided into two subsets, the positions of the jobs in subset 1 are maintained in the parent individuals, and then the sequence of operations belonging to jobs in subset 2 is exchanged between the parent individuals. The two-point crossover is employed for the resource allocation vector, by which two positions are randomly selected in the parent individuals, and then the elements between the selected positions are exchanged. The two crossover operations are illustrated by Fig. 2. It is worth noting that the two individuals obtained after the crossover operation need to be further compared, and the better one will be selected as the new individual.

Crossover operation.
The steps of DAMO algorithm are as follows:
Simulation experiment
Test instance
In this section, 32 instances designed by Li et al. [22] are used for simulation experiments. Each instance contains m machines, w workers and n jobs, and the problem size is expressed as m × n × w, where the number of machines is 10,15,20,25, the number of workers is ⌊0.6m ⌋ + 1, and the number of jobs is 10,20,30,40,50,60,70,80. Other data follow a discrete uniform distribution, i.e., J i ∈[1,5, 1,5], nop∈[2,m] (nopdenotes the number of eligible machines of each operation), nwk∈[2,w] (nwk denotes the number of eligible workers of each machine), p ijkl ∈[10,20, 10,20], E ijkl ∈[10,15, 10,15], SE k ∈[6,10, 6,10], CE∈[12,18, 12,18]. The algorithm is programmed in Fortran language and run on the virtual machine (VMware Workstation platform) with 2 G memory under the WinXP operating system. All the compared algorithms are run for 10 times independently in each instance to obtain the computational results.
Parameter settings
The DAMO algorithm mainly contains four parameters, namely population size PS, maximum number of iterations itermax, crossover rate c1 and c2. Here, Taguchi design of experiment method is adopted to set the algorithm parameters. First, an orthogonal table with four factors and four levels L16 (44) needs to be constructed, as shown in Table 2 and Table 3. For the instance RM13, the algorithm under different parameter combinations is run independently for 10 times, and the average value Avg in ten runs is used to evaluated the computational results. Following the data in Table 3, the response values of each parameter were calculated, as shown in Table 4, and then the influence curve of the algorithm parameters on the computational results is obtained, as shown in Fig. 3. Observed from Table 4, the Dleta value of itermax is the largest, indicating that the maximum iteration number has the greatest impact on the algorithm performance, and the second significant parameter is PS. For the DAMO algorithm, the population size PS is 40, the maximum number of iterations itermax is 500, and the crossover rate c1 and c2 are both equal to 0.7.
Parameter levels
Parameter levels
Orthogonal array
Response value and significance rank

Factor level trend of parameters.
In order to verify the effectiveness of the DAMO algorithm, it is compared with seven algorithms, such as AMONLD, AMORAN, VNS [2], MMBO [20], MJAYA [22], DWWO [19] and IWOA [7]. The main reasons to choose these compared algorithms are as follows: (1) The AMONLD and the AMORAN are the abbreviated versions of the proposed DAMO. The AMONLD denotes the algorithm where the left-shifting decoding is excluded, the processing time of each operation O ij can be measured by ST ij = max(CTi(j-1), MET k , WET l ). The AMORAN means that a completely random population initialization method is adopted to get initial solutions. (2) The VNS algorithm was designed for the DRCFJSP problem without considering the energy consumption. (3) The MMBO and the MJAYA was proposed for the same problem in this study. (4) The DWWO and the IWOA were respectively developed energy-saving FJSP and JSP, which can be easily modified to solve the problem under study.
The parameters of the above seven algorithms are as follows: For the AMONLD and the AMORAN algorithms, the parameters are the same with those in the DAMO algorithm; For the VNS, the maximum iteration is set to be 2.5×105; For the MMBO algorithm, the population size of MMBO is 51, the maximum of iteration is 400, the number of neighboring solutions is 3, the number of the shared neighboring solutions is 1, and the number of tours is 10, the predefined lifespan of each individual is 50, and the maximum iteration of the embedded local search algorithm is 10; For the MJAYA, the population size is 50, the maximum iteration is 2000, and the maximum iteration of the embedded local search algorithm is 10; For the DWWO, the population size is 50, the maximum iteration is 2000, the maximum iteration of local search algorithm is 10, which are the same as those of the MJAYA algorithm. In addition, the maximum wave height is 10, and the number of copies generated for each solution in the propagation operator is 20; For the IWOA, the population size is 50, and the maximum iteration is 2000.
In Table 5, the first column is the instance name, the second column is the problem size, and the other columns are the computational results of different algorithms. BRPD and ARPD represent the relative percentage deviations, i.e.,
Comparison results of BRPD and ARPD
Comparison results of BRPD and ARPD
Comparison results of the running time
To ensure the comparison results statistically more convincing, Table 7 conducts the paired-sample t-test to test the performance of the eight algorithms, where the t-test (A,B) represents the paired t-test between algorithm A and algorithm B. If the p-value is less than 0.05, A performs better than B. As observed from Table 7, all the p-values are smaller than 0.05. This indicates that the performance of our DABO is superior to other algorithms, which is consistent with the previous analyses. Figures 4 and 5 respectively show the Gantt charts under the instances RM04 and RM14, which are obtained by the DAMO algorithm.
T-test results of paired samples

Gantt chart of the instance RM04.

Gantt chart of the instance RM14.
In this paper, the dual resource constrained energy-saving flexible job shop scheduling problem is studied, and a discrete animal migration algorithm is proposed for minimize the total energy consumption in the workshop. A encoding method based on job and resource is used to represent the scheduling solution, and an energy-saving decoding method is adopted to save energy based on the left-shifting mechanism. A population initialization method is proposed to obtain the scheduling solutions with a certain quality and diversity. In addition, a kind of animal migration operator based on neighborhood structures and individual updating operator based on crossover operation are developed according to the characteristics of the problem. A large number of simulation experiments show that the DAMO algorithm is effective in solving the considered problem.
The limitation of this paper is that static scheduling with single-objective is only considered, thereby restricting the implementation of DAMO for multi-objective scheduling problem in dynamic manufacturing environment. Moreover, it should be acknowledged that the left-shift decoding method concentrates more on the improvement of the solution quality, which leads to the increasing of the computational time. In the next work, more practical factors will be considered in the energy-saving scheduling problems to bridge the gap between the theoretical research and practical application, such as multiple optimization objectives, dynamic manufacturing environment, distributed workshop, transportation constraints, deterioration effect, time-of-use electricity policy, renewable resources, etc. Furthermore, we will further extract the knowledge contained in the problem, obtain more efficient search strategies, improve the computational efficiency of the algorithm, and study the effective combination of AMO algorithm with other intelligence optimization algorithms.
Footnotes
Acknowledgments
This research was funded by the Fundamental Research Funds for the Central Universities, JLU, the Shandong Provincial Natural Science Foundation under Grant ZR2020QG005, ZR2021MG008, the Youth Entrepreneurship and Technology of Colleges and Universities in Shandong Province (2019KJN002); the Yantai Science and Technology Planning Project (2021xdhz072); the Major Innovation Projects in Shandong Province (2020CXGC010701, 2020CXGC010702), the Doctoral Foundation of Shandong Technology and Business University under Grant BS201938.
