1 Introduction
2 Problem Formulation
2.1 Problem Description
2.2 Mathematical Modeling of the EDTMAP
Variable | Notation |
---|---|
W | Set of workshops |
i (i') | Index of the workshop, i \(\in\) W |
Ji | Set of the types of products tested in the ith workshop |
j | Index of the product type, j \(\in\) Ji |
Si, j | Set of stages where the jth type of product in the ith workshop is tested |
k | Index of the stage, k \(\in\) Si, j |
T | Set of the types of testing machines |
p | Index of the type of testing machines, p \(\in\) T |
Rp, i' | Set of the pth type of testing machines in the i'th workshop |
q | Index of the pth type of testing machines in the i'th workshop, q \(\in\) Rp, i' |
Dmax | The maximum scheduling distance among all machines |
wi, j | Production weight of the jth type of product in the ith workshop |
ti, j, k | Time of the jth type of product in the ith workshop tested at the kth stage |
Pi, j, k | Production of the jth type of product in the ith workshop tested by one machine at the kth stage |
Ii, j, k | Interface type constraint for machines testing the jth type of product in the ith workshop at the kth stage |
I'p | Interface type of the pth type of testing machines |
Ni, j, k | Interface quantity requirement for machines testing the jth type of product in the ith workshop at the kth stage |
N'p | Interface number of the pth type of testing machines |
di, i' | Distance from the ith workshop to the i'th workshop |
tminute | Minutes that the testing machine runs per hour |
thour | Hours that the testing machine runs per day |
tday | Days that the testing machine runs per week |
η | Production efficiency of testing machines |
Xi,j,k,p,i',q | Decision variable. If the qth of the pth type of testing machines in the i'th workshop is scheduled to the kth stage where the jth type of product in the ith workshop tested Xi,j,k,p,i',q = 1; otherwise, Xi,j,k,p,i',q = 0 |
2.3 Mathematical Modeling of the EDTMAP
Workshop | Product | Testing time (and interface quantity constraint) at stage 1 | Testing time (and interface quantity constraint) at stage 2 | |
---|---|---|---|---|
(a) Testing time (and interface quantity constraint) of products at various stages | ||||
W1 | A2T2R | 5 (1) | 10 (1) | |
A2T4R | 3 (2) | 3 (2) | ||
W2 | B2T2R | 2 (1) | 4 (1) | |
B2T4R | 3 (2) | 3 (2) |
Machine | Matching stage | Interface quantity | Workshop | Quantity |
---|---|---|---|---|
(b) Available machines in workshops | ||||
M1 | S1 | 1 | W1 | 1 |
W2 | 1 | |||
M2 | S1 | 2 | W1 | 0 |
W2 | 2 | |||
M3 | S2 | 1 | W1 | 2 |
W2 | 2 | |||
M4 | S2 | 2 | W1 | 2 |
W2 | 4 |
Workshop | Distance from W1 (km) | Distance from W2 (km) | ||
---|---|---|---|---|
(c) Distance between workshops | ||||
W1 | 0.5 | 1 | ||
W2 | 1 | 0.5 |
Workshop | Product | Machine allocation at Stage 1 | Machine allocation at Stage 2 |
---|---|---|---|
W1 | A2T2R | M1W1 (1) | M3W1 (2) |
A2T4R | Null | Null | |
W2 | B2T2R | M1W2 (1) M2W2 (1) | M4W1 (2) M4W2 (2) |
B2T4R | M3W2 (2) | M4W2 (2) |
3 Proposed DMOABC for EDTMAP
3.1 Main Framework of the Proposed Algorithm
-
Step 1: Initialize the population size P, number of workshops Nw, type number of products Np, and limit of abandoning solution La. Randomly generate an initial population PG;
-
Step 2: Employ the bee phase. For each individual xi (i = 1, 2, …, P) in the population, the following sub-steps are used to generate a new population EG:
-
1) Execute LSO for xi to generate a newly employed bee;
-
2) xi becomes a scout bee in the case of having not been improved for La generations. The procedure goes to step 6;
-
Step 3: Employ the fast non-dominated sorter to rank the new population EG;
-
Step 4: Onlooker bee phase. For i = 1, 2, …, P, circle the following sub-steps to generate a new population OG:
-
1) Use the binary tournament selection for EG. The better one is selected as the onlooker bee;
-
2) Execute XO for the onlooker bee and a randomly selected employed bee to generate a new individual;
-
Step 5: Combine PG, EG, and OG as population UG; use the fast non-dominated sorter and crowding distance sorter to sort UG; and finally choose the first P individuals to update PG;
-
Step 6: Scout bee phase. If max(NIG) > La (NIG is the generation number in which any of the two objective function values of an individual have not been improved), it is selected as the scout bee and repeated:
-
1) The scout bee is placed into an external archive. Then, we apply the non-dominated sorter to the external archive and finally choose the non-dominated individuals to update the external archive;
-
2) Randomly select a non-dominated individual from PG and employ LSO for it to generate a new one;
-
3) Replace the scout bee with the new individual;
-
Step 7: If the termination criterion is satisfied, combine the non-dominated individuals in the last generation with the external archive and use the non-dominated sorter for this combined population to obtain the Pareto solution set; otherwise, proceed to step 2.
3.2 Feasible Solution Generator
3.3 Local Search Operator
Workshop | Product | Stage | Machine allocation (Before LSO) | Machine allocation (After LSO) |
---|---|---|---|---|
W1 | A2T2R | S1 | M1W1N1 | M1W1N1 |
S2 | M3W1N1 | M3W1N1 M3W1N2 | ||
A2T4R | S1 | Null | M2W2N2 | |
S2 | Null | M4W2N3 | ||
W2 | B2T2R | S1 | M1W2N1 M2W2N1 | M1W2N1 |
S2 | M4W1N1 M4W1N2 | M4W1N1 | ||
B2T4R | S1 | M3W2N1 | M3W2N1 | |
S2 | M4W2N2 | M4W1N2 |
3.4 Crossover Operator
3.5 Non-Dominated Sorter
3.6 Crowding Distance Sorter
4 Numerical Experiments and Comparisons
4.1 Experimental Instances and Parameter Settings
4.2 Performance Evaluation Indices
-
Set coverage (C-metric) [31]: this metric can directly indicate the dominance between two Pareto solution sets. A and B denote two approximations of the PF, and C(A, B) represents the percentage of the solutions in B that are dominated by at least one solution in A, i.e.,
-
Distance from representatives in the PF (D-metric) [31]: this metric is a comprehensive index reflecting both the diversity and convergence of a Pareto solution set. P* denotes the true PF. A represents an approximation of the PF. The average distance from P* to A is defined as follows:where d(v, A) is the minimum Euclidean distance between v and the points in A. |P*| is the number of solutions in P*. A smaller D(A, P*) denotes a better solution set. Because the true PF is unknown, in this study, P* was used as the non-dominated solution set found by all algorithms for each instance.$$D(A,P*) = \frac{{\sum\limits_{v \in P*} {d(v,A)} }}{{\left| {P*} \right|}},$$(10)
4.3 Experimental Results and Analysis
Problem | C(DMOABC, NSGA-C) | C(NSGA-C, DMOABC) | C(DMOABC, SPEA2) | C(SPEA2, DMOABC) |
---|---|---|---|---|
2×2 | 0.9033 | 0.0138 | 0.9470 | 0.0215 |
2×3 | 0.8875 | 0.0396 | 0.9264 | 0.0257 |
2×4 | 0.9604 | 0.0221 | 0.9335 | 0.0338 |
3×2 | 0.9535 | 0.0184 | 0.7621 | 0.1065 |
3×3 | 0.9182 | 0.0397 | 0.5731 | 0.1794 |
3×4 | 0.9259 | 0.0333 | 0.4342 | 0.2216 |
4×2 | 0.9022 | 0.0507 | 0.4766 | 0.2449 |
4×3 | 0.9164 | 0.0366 | 0.4633 | 0.2324 |
4×4 | 0.8631 | 0.0555 | 0.3987 | 0.2703 |
Mean | 0.9145 | 0.0344 | 0.6572 | 0.1485 |
Problem | DMOABC | NSGA-S | SPEA2 |
---|---|---|---|
2×2 | 0.0107 | 0.0560 | 0.0656 |
2×3 | 0.0117 | 0.0661 | 0.0868 |
2×4 | 0.0156 | 0.0812 | 0.1109 |
3×2 | 0.0166 | 0.0704 | 0.0949 |
3×3 | 0.0243 | 0.0712 | 0.1266 |
3×4 | 0.0265 | 0.0818 | 0.1355 |
4×2 | 0.0236 | 0.0725 | 0.1107 |
4×3 | 0.0289 | 0.0787 | 0.1334 |
4×4 | 0.0386 | 0.0924 | 0.1415 |
Mean | 0.0218 | 0.0745 | 0.1118 |
5 Real-World Case Study and Comparisons
5.1 Description of a Real-World Case
Workshop | Product | Testing time (interface quantity) at stage 1 | Testing time (interface quantity) at stage 2 | Testing time (interface quantity) at stage 3 |
---|---|---|---|---|
(a) Testing time (and interface quantity constraint) of WRFMs at various stages | ||||
W1 | A2T2R | 7.54 (2) | 9.45 (2) | 8.12 (2) |
A2T4R | 10.18 (4) | 9.53 (4) | 11.24 (2) | |
A4T4R | 6.89 (4) | 5.90 (4) | 7.51 (4) | |
W2 | B2T2R | 9.25 (2) | 8.85 (2) | 7.39 (2) |
B2T4R | 8.87 (4) | 6.71 (4) | 9.41 (2) | |
B4T4R | 5.91 (4) | 7.37 (4) | 9.40 (4) | |
W3 | C2T2R | 8.54 (2) | 8.18 (2) | 9.07 (2) |
C2T4R | 7.60 (4) | 8.59 (4) | 11.61 (2) | |
C4T4R | 8.54 (4) | 7.80 (4) | 8.07 (4) |
Machine | Matching stage | Interface quantity | Workshop | Quantity |
---|---|---|---|---|
(b) Available machines in workshop | ||||
M1 | S1 | 2 | W1 | 8 |
W2 | 6 | |||
W3 | 0 | |||
M2 | S1 | 4 | W1 | 8 |
W2 | 4 | |||
W3 | 9 | |||
M3 | S2 | 2 | W1 | 1 |
W2 | 8 | |||
W3 | 0 | |||
M4 | S2 | 4 | W1 | 8 |
W2 | 4 | |||
W3 | 5 | |||
M5 | S3 | 2 | W1 | 8 |
W2 | 11 | |||
W3 | 7 | |||
M6 | S3 | 4 | W1 | 3 |
W2 | 7 | |||
W3 | 3 |
Workshop | Distance from W1 (km) | Distance from W2 (km) | Distance from W3 (km) | |
---|---|---|---|---|
(c) Distance between workshops | ||||
W1 | 0.5 | 1.5 | 3 | |
W2 | 1.5 | 0.5 | 2 | |
W3 | 3 | 2 | 0.5 |
5.2 Solving the Real-World Case Using the Proposed DMOABC
Problem | C(DMOABC, NSGA-C) | C(NSGA-C, DMOABC) | C(DMOABC, SPEA2) | C(SPEA2, DMOABC) |
---|---|---|---|---|
3×3 | 0.9395 | 0.0316 | 0.5688 | 0.2128 |
Problem | DMOABC | NSGA-S | SPEA2 |
---|---|---|---|
3×3 | 0.0319 | 0.0743 | 0.1121 |
Workshop | Product | Stage 1 | Stage 2 | Stage 3 |
---|---|---|---|---|
W1 | A2T2R | Null | Null | Null |
A2T4R | Null | Null | Null | |
A4T4R | M2F1 (6) M2F2 (2) M2F3 (3) | M4F1 (5) M4F2 (3) M4F3 (1) | M6F1 (3) M6F2 (7) M6F3 (2) | |
W2 | B2T2R | M1F1 (1) M1F2 (3) | M3F2 (2) | M5F1 (1) M5F2 (2) |
B2T4R | M2F1 (2) M2F2 (2) M2F3 (4) | M4F1 (3) M4F3 (3) | M5F1 (2) M5F2 (7) | |
B4T4R | Null | Null | Null | |
W3 | C2T2R | M1F1 (6) M1F2 (2) M2F3 (2) | M3F1 (1) M3F2 (6) M4F2 (1) M4F3 (1) | M5F1 (2) M5F2 (1) M5F3 (7) |
C2T4R | Null | Null | Null | |
C4T4R | Null | Null | Null |