For continuous optimization problems, the grey wolf individual position can be updated by Eq.(19)-(23), however, MRCFJSP is a discrete problem and cannot be directly solved using the above formulas. This paper proposed a MODGWO algorithm for MRCFJSP based on the characteristics of the problem and combined with cross operation in genetic algorithm. First, an encoding/decoding method is introduced, followed by a method for initializing a mixed population. Then the Discrete Grey Wolf iteration operators are presented for global search. Finally, an effective VNS with four neighborhood structures is introduced to improve the local search ability.
2.4.1. Four-vector encoding
The efficiency of encoding and decoding techniques has a substantial influence on algorithm performance. Utilizing effective encoding and decoding methods can facilitate algorithm operations and enhance computational performance. The MRCFJSP needs to solve four sub-problems: operation scheduling, machine selection, worker selection, and AVG selection. Therefor in this subsection, we introduce an encoding scheme where each individual comprises four distinct vectors: the Operation Sequence(OS) vector, which denotes the order of operation execution; the Machine Selection(MS) vector, which specifies the assignment of machines; the Worker Selection(WS) vector, which outlines the allocation of workers; and the AVG Selection(AS) vector, which indicts the assignment of AVGs. Collectively, these four vectors constitute a viable solution for the MRCFJSP. In the four-layer coding method, we borrowed the idea of MOSO coding method proposed by Ho et al[
25].
Figure 3 shows the four vector representation approach of the examples in
Table 1 and Table2, where green indicates job 1, yellow indicates job 2 and blue indicates job 3.
(1) Operation sequence vector
An OS vector consists of an array of integers where the number of array elements equals the total number of operations in all jobs. Each operation is denoted by its corresponding job index. Specifically, the jth occurrence of index i signifies the jth operation within job i, and the count of index i repetitions is equivalent to the total number of operations in job i.
For example {3, 2, 1, 2, 3, 1, 1} is a legal vector or the aforementioned instance shown in
Table 2 and
Figure 3(a). The sequence of operational decoding for this OS vector is
O31→O21→O11→O22→O32→O12→O13.
(2) Machine selection vector
A MS vector consists of an array of integers, the length of which equals to the length of OS vector and each element indicates an available machine for the corresponding operation.
A MS vector {1, 3, 2, 1, 3, 1, 2} means that for the operation set {
O11,
O12,
O13,
O21,
O22,
O31,
O32}, the machine selection indicated by the MS vector is {
M1, M3, M2, M1, M3, M1, M2} correspondingly shown in
Figure 3(b).
(3) Worker selection vector and AGV selection vector
The WS vector and AS vector are encoded in a similar way to MS vector. As shown in
Figure 3(c), the first number 1 in the WS vector represents the
O11 is processed by worker
W1 on machine
M1. The WS vector {1, 2, 2, 1, 1, 1, 2} indicates that the operations {
O11,
O12,
O13,
O21,
O22,
O31,
O32} are processed by workers {
W1, W2, W2, W1, W1, W1, W2} on machines {
M1, M3, M2, M1, M3, M1, M2} respectively. Similarly, the AS vector {1, 1, 2, 1, 2, 2, 1} shown in
Figure 3(d) represents that the operations{
O11,
O12,
O13,
O21,
O22,
O31,
O32} are transported by AGVs{
V1, V1, V2, V1, V2, V2, V1} respectively.
2.4.3. Population initialization
The standard of initial solutions significantly influences how well an algorithm performs in producing high-quality solutions. Recognizing the significant impact of population initialization on the algorithm's performance, we propose several adaptive strategies aimed at enhancing the quality of the initial population. To achieve a balance between the quality and diversity of initial solutions within the search space, we utilize a hybrid approach that combines random generation with strategic selection to form the initial population. Since the problem in this paper is divided into four sub-problems, operation sequencing, machine selection, worker selection and AVG selection, the population initialization is also carried out in four stages. Firstly, the initialization of OS vectors employs a hybrid approach[
26] according to the following three rules:
(1) Most work remaining rule[
27]: the job that has the maximum total processing time remaining is prioritized for execution first.
(2) Most number of operations remaining rule[
26]: the job that has the most remaining operations is processed first.
(3) Random rule: operation sequencing is randomly generated.
The aforementioned three rules are utilized in the generation of OS vectors, and their respective proportions are 30%, 30%, and 40%. The initialization of MS vectors is initialized employing the following three rules:
(1) Global minimum processing time rule[
28]: select the machine with the shortest processing time for the current operation.
(2) Workload considered rule[
29]: Assign machines according to the machine workload.
(3) Random rule: Randomly assign machines.
The machine selection of the population is sequentially generated using the first and second rule in the proportion of 30% and the remaining 40% by random rule. The initialization process of the WS vectors and the AS vectors is similar to that of MS vectors, the only difference is that only workers and AVGs load, as well as random allocation, are used, with respective proportions of 50% and 50%.
2.4.4. Solution updating mechanism
Since the basic GWO cannot be directly applied to the discrete scheduling problem, this paper designs a discrete version of the solution updating mechanism for the machine selection, AGV selection and operation sequence. The grey wolf individual crosses with wolf α, wolf β, and wolfδaccording to a certain probability, and thus obtains a new individual, as shown in Eq. (25).
where Xk is the position vector of grey wolf t, Xα, Xβ, and Xδ are the position vectors of grey wolf α, β, andδ, respectively, rand is a random number that follows a uniform distribution between 0 and 1. Cross is the crossover operator, and the specific crossover method for each vector is described in detail below.
In basic GWO, new individuals are generated based on the information of the three individuals α, β, andδ that are currently serving as the decision level individuals. To determine α, β, andδ individuals within a population, this paper adopts a method based on non dominated level and crowding distance to obtain decision level individuals, that is, sorting individuals according to their non dominated level and crowding distance in the population, and the top three individuals have the opportunity to become decision level individuals. For any two individuals, the individual with the lower level ranks is selected first, if two individuals have the same level, compare their crowding distance, and the individual with the larger crowding distance ranks first.
Meanwhile, we integrate the ideas of Jaya algorithm into the proposed MODGWO. The Jaya algorithm is a novel population-based metaheuristic recently proposed by Rao[
30], which is based on the principle of continuous improvement, and improves the quality of the solution by moving the individuals closer to the best solution while moving away from the worst solution. Jaya algorithm iteratively evolves through Eq. (26). to obtain new solutions.
where Xk(t+1) is the updated solution corresponding to the initial solution Xk(t). Xbest and Xworst represent the best and worst solutions of the current population, respectively. r1 and r2 are uniformly distributed. In the improved MODGWO, one of Xα, Xβ, and Xδ is randomly chosen as Xbestusing Eq. (25), while the worst individual Xworst is selected from the last rank having the minimum crowding distance value. The detailed procedures for operation sequencing, machine selection, worker selection and AVG selection are summarized below.
(1) Operation sequencing
This paper draws on the method in literature [
31] to delete sequences in the current solution that are identical to the worst solution and replace them with the best solution. The specific steps are as follows:
Step 1. Identify the worst individual (Xworst) and choose one form Xα, Xβ, and Xδrandomly as Xbest (assuming that Xβ is selected) from the population.
Step2. Identify similar assignments of operations in the individual Xi and Xworst.
Step 3. Eliminate similar assignments from Xi and transfer the remaining assignments to a new solution Xinew.
Step 4. Beginning from the initial assignment of Xβ, eliminate the assignments corresponding to the remaining assignments of individual Xinew.
Step 5. Beginning from the initial assignment of Xβ, transfer the remaining assignments of Xβ in the vacant elements of individual Xinew in the corresponding order.
Figure 4 illustrates the operation sequencing vector updating mechanism.
(2) Machine selection and AGV selection
The solution updating mechanism for the machine selection and AVG selection is the same and similar to that of operation sequencing.Only the detailed steps for updating machine selection are as follows:
Step 1. Identify the best individual Xbest(Assuming it is Xα) and worst individual Xworst from the population.
Step 2. Identify similar assignments of machines assigned to the same machines in the individuals Xi and Xworst.
Step 3. Eliminate similar assignments from the individual Xiand transfer the remaining assignments to a new solution Xinew.
Step 4. Transfer the corresponding machine assignments of Xα to the vacant elements of individual Xinew.
Figure 5 illustrates the machine selection vector updating mechanism.
(3) Worker selection
The updating mechanism of worker selection is the same as the previous steps of machine selection and AVG selection, eliminating elements from the current individual that correspond to the position of the worst solution, and filling the eliminated elements with elements corresponding to the position of the best solution. Finally, it is necessary to conduct feasible checks on new individuals. Check for the feasibility of each assignment of Xinew based on the capable worker set of the corresponding machine in the updated machine selection vector. If infeasible randomly allocate an integer value within the capable worker set range.
2.4.5. Local search
To enhance the local search capability, variable neighborhood search operations are performed on the OS, MS, WS and AS of the optimal individuals after each iteration, respectively. Variable neighborhood search (VNS) can expand the search space of the algorithm by changing the domain structure based on problem features, avoiding the algorithm from falling into the local optimal solution. Firstly, the initial solution that requires neighborhood search is given. Secondly, the neighborhood structure is used for neighborhood search to obtain the neighborhood structure solution. If the target value of the neighborhood solution is better than the current solution, the current solution is updated and the weights are updated. The search returns to the first neighborhood structure and starts again until a better solution cannot be found. Then, the next neighborhood structure is reached for search until all neighborhood structures have been searched. Based on the characteristics of the MRCFJSP, the following 4 domain structures are constructed:
(1) VNS1(Insert, for OS vectors)Within the length range of OS vector, randomly generate two positions r1 and r2 (r1<r2), insert the element corresponding to r2 into position r1, and move the elements after position r1 backwards in sequence. For the OS vector in
Figure 3, the two generated random numbers r1 and r2 are 2 and 5, respectively. The solution process of VNS1 is shown in
Figure 6.
(2) VNS2(Choose the minimum processing time,for MS vectors)Randomly generate r ϵ [1, N] random numbers, where N is the total number of operations, and randomly select r positions from the MS vector. For each selected position corresponding to a operation, select the machine with the shortest processing time from its corresponding optional machine set for replacement. After replacement, check whether the workers corresponding to r positions in WS can operate the newly selected equipment. If it is not feasible, randomly select a worker from the operable worker set of the new equipment. For the solution generated in
Table 2.1, MS is 1122312, and r=3 is randomly generated. Three positions are randomly selected, such as positions 2, 3, and 7. The solution process of VNS2 is shown in
Figure 7.
(3) VNS3(Flip, for WS vectors)Within the length range of WS vector, randomly generate a position r1. In MS vector, position r1 should correspond to more than one available processing worker for the processing equipment, and then select a new worker from the set of available workers for equipment replacement.The solution process of VNS3 is shown in
Figure 8.
(4) VNS4(swap, for AS vectors)Within the length of the AS vector, two randomly generated positions r1 and r2 (r1 ≠ r2) are exchanged for the elements at the r1 and r2 positions. The solution process of VNS4 is shown in
Figure 9.