Abstract
In this article, we investigate a novel dual-resource constrained flexible job shop scheduling problem with consideration of worker’s learning ability and develop an efficient hybrid genetic algorithm to solve the problem. To begin with, a comprehensive mathematical model with the objective of minimizing the makespan is formulated. Then, a hybrid algorithm which hybridizes genetic algorithm and variable neighborhood search is developed. In the proposed algorithm, a three-dimensional chromosome coding scheme is employed to represent the individuals, a mixed population initialization method is designed for yielding the initial population, and advanced crossover and mutation operators are proposed according to the problem characteristic. Moreover, variable neighborhood search is integrated to improve the local search ability. Finally, to evaluate the effectiveness of the proposed algorithm, computational experiments are performed. The results demonstrate that the proposed algorithm can solve the problem effectively and efficiently.
Keywords
Introduction
The flexible job shop scheduling problem (FJSP) 1 is a classic abstraction of actual production process and has been well known as one of the most important NP-hard combinatorial optimization problems. The FJSP consists of two sub-problems, that is, routing and scheduling. The routing sub-problem is to assign each operation to a machine among a set of given machines, whereas the scheduling sub-problem is to sequence the assigned operations on all machines to obtain a feasible schedule with a satisfactory objective value. It has been a research hotspot for decades and many research works have been carried out.2–10
In FJSP, operation-sequence-constraint and machine-resources-constraint are considered, but the constraints imposed by the workers are ignored. However, in reality, operations cannot be processed if workers are not available or if workers lack requisite skills. Aiming at overcome this drawback, it is necessary to take the worker-resources-constraint into account. Thus, the extended FJSP which considers the worker-resources-constraint is proposed, it is called the dual-resource constrained flexible job shop scheduling problem (DRCFJSP). 11 Research on this problem can be applied to many production fields, such as automobile manufacturing, equipment manufacturing, and electronic products manufacturing. To solve the DRCFJSP, determination of operation sequence and allocation of the resources, including machines and workers, are required.
Because of the high complexity, it is quite difficult to achieve an optimal solution for the DRCFJSP with traditional optimization approaches in a reasonable computational time. Hence, many approaches, especially meta-heuristic algorithms, have been widely developed for solving the DRCFJSP. Cao and Yang 12 put forward a new immune genetic algorithm (GA) through combining immune algorithm with GA for solving the DRCFJSP. Operation-based encoding and an active schedule decoding method were employed, and several kinds of crossover operations were adopted to keep individual diversity. Liu et al. 13 built a bi-objective DRCFJSP optimization model with the makespan and the production cost was concerned, and they applied a hybrid GA based on Pareto to solve the problem. The proposed algorithm embedded Pareto ranking strategy into Pareto competition method, the niche technology, and four kinds of crossover operations were used to promote solution diversity. Zhang et al. 14 proposed a novel multi-objective hybrid particle swarm algorithm to solve the dual-resource constrained job shop scheduling problem with minimizing production period and production cost. In the proposed algorithm, simulated annealing (SA) with variable neighborhoods structure was introduced to improve the local search ability, and an external archive based on Pareto-dominance was applied to store the nondominated solutions. Lei and Guo 15 proposed an effective variable neighborhood search (VNS) to minimize makespan of DRCFJSP, in which the solution of the problem was indicated as a quadruple string of the ordered operations and their resources. VNS was composed of two neighborhood search procedures and a restarting mechanism. Yazdani et al. 16 addressed the DRCFJSP with the objective of minimizing the makespan. The authors presented two efficient meta-heuristic algorithms, SA and vibration damping optimization (VDO), to solve the DRCFJSP. The search procedure of both algorithms used four efficient neighborhood structures to search the solution space. Zheng and Wang 17 aimed to solve the DRCFJSP with a makespan minimization criterion. A knowledge-guided fruit fly optimization algorithm with a new encoding method was proposed. In the proposed algorithm, two types of permutation-based search operators were designed to perform the smell-based search for operation sequence and resource assignment. Gao and Pan 18 studied the FJSP under multi-resource constraints with the objective of minimizing the makespan. A dynamic shuffled multi-swarm micro-migrating birds optimization algorithm was presented for solving the problem. In Paksi and Ma’Ruf, 19 a meta-heuristic approach, based on GA, was presented to solve the DRCFJSP. In the proposed algorithm, indirect chromosome representative that consists of two layers was used, and selection, elitism, crossover, and mutation operators are developed to search the best fitness value until steady-state condition was achieved. Zhang et al. 20 proposed a novel hybrid discrete particle swarm optimization (HDPSO) algorithm to solve the dual-resource constrained job shop scheduling problem with resource flexibility.
In most of the previous studies on DRCFJSP, all workers are supposed to be the same and have same efficiency. Only a very few studies have considered the heterogeneous workers. However, the efficiencies of workers are fixed throughout the entire processing period in these studies. Obviously, it is not accord with the actual situations, because workers have the ability to learn and remember. In reality, the efficiencies of workers will increase with the accumulation of experience and knowledge. Therefore, the DRCFJSP with consideration of worker’s learning ability is a more conformable abstraction of reality production environment, and it is an interesting topic to be investigated and has not been studied before. Thus, this article puts forward a novel DRCFJSP with learning effect (DRCFJSP-LE) and studies the method to solve the problem.
GA21,22 is a kind of algorithm based on principles of natural selection and genetics; it simulates the biological evolution. Because GA has rapid random search ability, strong robustness, simple process, strong extensibility, and the other characteristics, it has been widely applied in various fields23–26 and also has been proven to be one of the most effective evolutionary techniques for solving job shop scheduling problems.27–31 Therefore, in this article, we use GA to solve the DRCFJSP. In addition, because local search is a promising approach for improving the convergence speed of GA, 32 and VNS is an effective meta-heuristics based on local search methods, we adopt VNS to improve the convergence speed of GA and balance exploration and exploitation.
In this study, a new mathematical model considering worker’s learning ability in DRCFJSP is established. This model considers operation-sequence-constraint as well as machine and worker resources constraints and also considers the improvement of worker’s efficiency. To effectively solve this mixed integer programming model, an effective hybrid genetic algorithm (GA-VNS) is proposed. The corresponding encoding/decoding method, population initialization strategy, and crossover/mutation operators are designed according to the features of this problem. Moreover, under the framework of GA, an improved VNS with three neighborhood structures is introduced to enhance the local search ability. Finally, experimental results show that the proposed algorithm is feasible and effective.
The remainder of this article is organized as follows. Problem description and model formulation are presented in section “Problem description and formulation.” GA-VNS for solving the studied problem is elaborated in section “Proposed GA-VNS for DRCFJSP-LE.” Computational experiments and comparison summary are stated in section “Experimental studies and discussion.” Finally, conclusions and lines for further research are drawn in section “Conclusion.”
Problem description and formulation
In DRCFJSP-LE, operations can be processed only if the selected machine and worker are both available and eligible. The actual processing time of each operation depends on the given basic processing time and the worker’s processing efficiency. Workers may have different abilities and processing efficiencies when they operate the same machine. Because of the learning ability, worker’s processing efficiency will increase with the accumulation of processing time, but it cannot be improved indefinitely, it will stop at a given highest level. Workers have different learning efficiencies, and it is an inherent property of the worker. To describe the problem more formally, a mathematical model is established to minimize the makespan.
The assumptions are conducted for this studied problem as follows:
All machines and workers are available at time 0.
There are no precedence constraints among the jobs and all jobs are released at time 0.
Each machine can process only one operation at a time.
Each worker can be set on only one machine at a time.
The promotion of operating efficiency is only related to the accumulation of processing time.
Transportation times, setup times, and release times are negligible.
Each operation cannot be interrupted during its performance.
The indices, sets, parameters, and decision variables used throughout the article are defined as follows:
Indices and sets r: index of workers J: set of jobs M: set of machines W: set of workers
Parameters
Decision variables
Based on the assumptions and notations above, the mathematical model with makespan minimization can be established as follows
Equation (1) is the objective function that minimizes the makespan
Equation (2) defines the makespan
Equation (3) defines the completion time of each job, which equals the completion time of its last operation
Equation (4) expresses the mathematical relationship between starting time, actual processing time, and completion time of each operation
Equation (5) ensures that the precedence constraints between operations of a job are not violated
Equation (6) calculates
Equations (8) and (9) ensure that each machine can process at most one operation and each worker can operate at most one machine at a time, respectively; equation (10) guarantees that each operation cannot start until the assigned machine and worker are ready
Equation (11) ensures that each operation cannot start until the immediate precedence operation on the same machine is completed; equation (12) ensures that each operation is assigned to one and only one compatible machine which is operated by one and only one eligible worker; at last, equations (13) and (14) state the range of decision variables.
Proposed GA-VNS for DRCFJSP-LE
In this section, we investigate how to solve the DRCFJSP-LE with GA-VNS for obtaining the minimal makespan. An encoding/decoding scheme and a mixed population initialization method are given first. Then adaptive selection, crossover, and mutation operators are presented for global search. Finally, an effective VNS with three neighborhood structures is introduced to improve the local search ability.
To describe the proposed algorithm clearly, an example with three jobs, three machines, and two workers is presented in Tables 1 and 2. The basic processing times are organized in Table 1, and Table 2 shows the basic operating efficiencies. “–” indicates that the machine cannot handle the operation or the worker cannot operator the machine.
Processing times.
Efficiencies.
Encoding and decoding
In this subsection, we propose an encoding mechanism in which each individual consists of three chromosomes: operation sequence chromosome (OSC) represents the processing sequence of operations; machine assignment chromosome (MAC) represents the allocation of machines; worker assignment chromosome (WAC) represents the assignment of workers. Each individual composed by the three chromosomes represents a feasible solution for the DRCFJSP-LE.
The number of genes in the OSC equals the total number of operations in all jobs. All operations are represented by its index of job, the gth occurrence of index i represents the gth operation in job i, and the repetition number of the index i equals the total number of operations in the job i. Figure 1(a) shows one possible OSC for the example. MAC is as long as the OSC, the gth gene in MAC represents a selected machine for the gth operation in the OSC, it is important to note that the selected machine must be an alternative machine. A feasible MAC based on the OSC in Figure 1(a) is shown in Figure 1(b). The encoding method of WAC is similar to that of MAC, the gth gene in WAC represents a selected worker for the gth machine in the WAC, and the selected worker also should be an alternative worker. A feasible WAC based on the WAC in Figure 1(b) is shown in Figure 1(c). Figure 1 shows a complete feasible individual for the given example in Tables 1 and 2.

Individual coding example: (a) operation sequence chromosome, (b) machine assignment chromosome, and (c) worker assignment chromosome.
For the above representation, decoding can be divided into three steps: first, pick out the operations from the OSC one by one from left to right and obtain the corresponding machine and worker; then calculate the actual processing time of the operations using equation (7); and finally, arrange the operations at their earliest feasible time. The flowchart of decoding is presented in Figure 2. The variable

Flowchart of decoding.

Gantt chart of coding example.
Population initialization
Since population initialization has an important influence on the algorithm’s performance, we put forward some adaptive strategies to improve the quality of initial population. Random generation is a commonly used strategy, initial population generated by this strategy has good diversity, but it does not guarantee a stable quality. Therefore, to balance the diversity and quality, we adopt a combination of random generation and strategic choice to generate the initial population. Three initialization strategies are proposed for OSCs, MACs, and WACs, respectively. First, the OSCs are generated using the mixed strategy, 33 which is composed of the following three rules:
Choose a job randomly;
Give preference to the job with the longest processing time of the remaining operations;
Choose the job with the largest number of rest operations.
The above three rules are used to generate OSCs accounted for 30%, 30%, and 40% of the initial population, respectively. Then for the MACs, 50% are selected in the constraint set randomly. The other 50% are generated by the method proposed in Kacem et al., 34 and the procedures of this method are as follows:
Step 1. Pick out the gth (g = 1 at first, from left to right) operation
Step 2. Select the machine k with the shortest basic processing time for operation
Step 3. Add the basic processing time
Step 4. If g equals the total number of all operations in all jobs, stop; otherwise, set
The initialization method of the WACs is similar to that of MACs, the only difference is that one updates the basic processing times and the other updates the basic operating efficiencies.
Selection
In this article, elitist preservation and tournament selection are both adopted for the selection operation.
In elitist preservation,
The tournament selection can retain good individuals with a greater probability and eliminate the worse individuals. The implementation steps for the tournament selection strategy are described as follows:
Step 1. Select a certain number (approximately 3–5 in general) of individuals from the parent population.
Step 2. Select an individual with the highest fitness from the temporary set produced by the previous step and put the selected individual into the offspring population. The selected individual should be put back into the parent population and can be selected again.
Step 3. If the total number of individuals in the offspring population reaches the given population size, stop; otherwise, repeat the above two steps.
Crossover
Crossover is the main evolutionary operation in GA and has a significant impact on the efficiency and effectiveness of GA. In this subsection, a three-part crossover operator is proposed based on the characteristics of DRCFJSP-LE. The procedures are described in the following subsections.
Crossover for OSCs
Crossover process of OSCs is shown in Figure 4 and described below:
Step 1. Divide all operations in parent 1 into two nonempty sets randomly, marked as
Step 2. Let offspring 1 inherit all genes in
Step 3. Remove the genes that exist in both offspring 1 and parent 2
Step 4. For MACs and WACs in offspring 1, copy from parent 1 and adjust MACs and WACs correspondingly to keep the allocations of machine and worker unchanged. Same as offspring 2. In this way, we made a crossover operation for OSCs and kept the solution legal.

Crossover for OSC.
Crossover for MACs
In this part, a new multi-point crossover method is adopted. An example is shown in Figure 5 and the execution procedure is as follows:
Step 1. Copy parent 1 to offspring 1 and parent 2 to offspring 2 (including OSCs and WACs).
Step 2. Randomly generate a vector
Step 3. Select all positions in
Step 4. Check all genes in the MACs, if the machine is illegal (this is possible because the OSC is unchanged and a different operation may have a different alternative machine set), select a new one from the available machine set with the shortest basic processing time, and select a new worker if the current worker is also illegal.

Crossover for MAC.
Crossover for WACs
For WACs, we use the simple two-point crossover. First, generate two intersection points randomly, then exchange genes between the intersection points, and finally fix the illegal values. An example is given in Figure 6.

Crossover for WAC.
Mutation
The mutation operator is mainly used for maintaining the diversity of the population and improving the local search performance. In this article, the mutation operator is also divided into three parts for OSC, MAC, and WAC, respectively. The first part deals with the mutation of OSCs and the implementation detail is as follows: select two genes at different positions randomly in the parent OSC and exchange the selected genes as shown in Figure 7(a), and then adjust the MAC and WAC correspondingly to keep the allocations of machine and worker unchanged. It is proved that a new chromosome generated by this method is feasible based on the characteristics of encoding. The second part is the mutation of MACs: choose a gene randomly as the current machine in the parent MAC, then select a new machine from the available machine set (if the size of available machine set equals 1, select the gene again) that is not equal to the current machine, and finally replace the current machine by the selected new machine, as shown in Figure 7(b). If worker at the same position is illegal, then choose a new worker from alternative worker set randomly. An individual generated by this method is also feasible. The third part is the mutation of WACs, which is basically the same as the second part above, as shown in Figure 7(c).

Mutation operation: (a) operation-assignment chromosome, (c) machine-assignment chromosome, and (c) worker-assignment chromosome.
Local search by VNS
VNS
35
is a meta-heuristic algorithm which has been successfully applied in various combinatorial optimization problems, including several scheduling problems,36–39 and VNS has been proved to be one of the most efficient local search strategies for scheduling problems. Lei and Guo
15
developed an effective VNS with variable neighborhood structures for solving the DRCFJSP, we adopt and modify it as the local search strategy in the GA-VNS. The workflow of the improved VNS is described in Algorithm 1, where
Three neighborhood structures, Exchange, Replace, and Change are used in VNS:
Exchange is to make an exchange on the OSC: Select two genes with different values randomly in the OSC and exchange them, and then reallocate the machines and workers to guarantee that the new solution is feasible.
Replace is to replace the resources for an operation: Select a gene in the OSC randomly, then select a new machine with the shortest basic processing time from the operation’s alternative machine set, and finally, select a worker from the alternative worker set randomly for the new machine.
Change is to change the worker for a machine: Select a machine with more than one alternative worker in the WAC randomly, and then select a different worker with the best operating efficiency for this machine.
Workflow of the proposed GA-VNS
Based on the details introduced above, the overall procedure of the GA-VNS is depicted in Algorithm 2.
Experimental studies and discussion
Several experiments are carried out to verify the effectiveness of the proposed algorithm in this section. First, some necessary preparations for the experiments are introduced. Then, we test the validity of VNS by comparing GA-VNS with a simplified GA which has removed the VNS from GA-VNS and verify the performance of GA-VNS by comparing GA-VNS with a HDPSO. 40 Finally, the results and some statistical analysis are presented. All algorithms are coded in Java and run on a personal computer with 8 GB RAM and Intel Core i7 2.70 GHz CPU.
Testing instances
In this article, benchmarks for the FJSP are extended for testing the DRCFJSP-LE, because there is no common benchmarks for the DRCFJSP-LE. We choose 33 commonly used test instances 01a-18a
41
and mk01-15
42
for expansion. The supplementary data used for expansion are presented in Table 3. The total number of workers w can be calculated by
Parameters for expansion.
Parameter setting
The selection of parameters has a noticeable influence on algorithm’s performance. In this article, we adopt the orthogonal experimental method to obtain appropriate parameters. In GA-VNS, there are four key parameters, that is, population size (popsize), crossover probability (proc), mutation probability (prom), and the iterative number of VNS (iter). We select five different levels for each parameter and list them in Table 4. The orthogonal design table
Parameter level.
Orthogonal design table and results.
The bold value means the best result.
For parameter setting in the GA and HDPSO, we use the same method. Parameters in the GA are adopted as
Performance evaluation metric
The performance of each algorithm is measured by the relative percentage deviation (RPD), 43 which is calculated by the formula
where
Main results and discussion
In this subsection, we present a comparative evaluation of the GA-VNS, GA, and HDPSO. For a fair comparison, encoding mechanism, population initialization, and genetic operators in the GA are completely the same as that in GA-VNS, the only difference is no VNS in the GA. The HDPSO in Zhang et al.
40
is originally developed for solving the dual-resource constrained job shop scheduling problem, most of its operations are able to be used in solving the DRCFJSP-LE. Because they did not consider the flexibility of machines, some improvements are needed to upgrade the HDPSO so that the HDPSO will not produce illegal solutions. In order to obtain reliable results and avoid the randomness, each algorithm is run 30 times for each instance. Set maximum iterations
Comparisons with same iterations (Gen = 100).
GA-VNS: genetic algorithm variable neighborhood search; HDPSO: hybrid discrete particle swarm optimization; K-W test: Kruskal–Wallis test; RPD: relative percentage deviation.
“Y” means that the first algorithm is significantly better than the second one.
From Table 6, it is easy to see that GA-VNS achieves better
To make a fairer comparison, we also test the performance of three algorithms with the same runtime. We set the runtime that used by HDPSO in Table 6 as the termination condition for each instance, the comparative results are presented in Table 7. In Table 7, GA-VNS obtains the smallest
Comparisons with same runtime.
GA-VNS: genetic algorithm–variable neighborhood search; HDPSO: hybrid discrete particle swarm optimization; K-W test: Kruskal–Wallis test; RPD: relative percentage deviation.
“Y” means that the first algorithm is significantly better than the second one.
ANOVA analysis results.
ANOVA: analysis of variance; GA-VNS: genetic algorithm–variable neighborhood search; HDPSO: hybrid discrete particle swarm optimization; RPD: relative percentage deviation.
Conclusion
In this article, DRCFJSP-LE is discussed and an efficient hybrid genetic algorithm is developed to solve this problem. In the proposed algorithm, effective encoding/decoding mechanism and population initial method are designed, special crossover and mutation operators are proposed. In addition, VNS is introduced to overcome GA’s weakness in local search. The experimental results demonstrate that the proposed algorithm has good performance in solving this problem.
As a direction of future study, other objective functions can be considered, such as cost, quality, machine load, and earliness/tardiness. Investigating the studied problem with a combination of learning and forgetting effect could be an interesting research topic. Finally, other types of production environments, such as flow shop scheduling, can be considered.
Footnotes
Handling Editor: Tatsushi Nishi
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the Science and Technology Support Program of Hubei Province in China under Grant no. 2015BAA063 and the Fundamental Research Funds for the Central Universities under Grant no. 2016-YB-020 and 2016III024.
