Introduction
Problem description
Motivating example
Tab.1 Data for motivating example |
Unit | Maximum capacity /mu | Minimum capacity /mu | /h | /h |
---|---|---|---|---|
J1 | 100 | 0 | 3 | 0.02 |
J2 | 100 | 0 | 2 | 0.01 |
Definition of recycling tasks
Tab.2 Results for motivating example 2a) |
Example | Model | Event points | CPU time /s | RMILP /cu | MILP /cu | Discrete variables | Continuous variables | Equations |
---|---|---|---|---|---|---|---|---|
1 | SF | 4 | 0.094 | 1800.00 | 1656.16 | 20 | 78 | 115 |
(H= 8 h) | T-S | 4 | 0.156 | 3300.83 | 1511.66 | 20 | 78 | 121 |
Mathematical formulation
Time representation
Model M1
Allocation constraints
Capacity constraints
Material balance
Processing duration constraints
Sequencing constraints
Objectives
Model M2
Allocation constraints
Capacity constraints
Material balance constraints
Processing duration constraints
Sequencing constraints
Tightening constraint
Objectives
Computational studies
Tab.3 Data for Example 1 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 1.333 | 0.01333 | 0 | 100 |
2 | 2 | 1.333 | 0.01333 | 0 | 150 |
3 | 3 | 1.000 | 0.00500 | 0 | 200 |
4 | 4 | 0.667 | 0.00445 | 0 | 150 |
5 | 5 | 0.667 | 0.00445 | 0 | 150 |
Tab.4 Data for Example 2 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 0.667 | 0.00667 | 0 | 100 |
2 | 2 | 1.334 | 0.02664 | 0 | 50 |
3 | 3 | 1.334 | 0.01665 | 0 | 80 |
4 | 2 | 1.334 | 0.02664 | 0 | 50 |
5 | 3 | 1.334 | 0.01665 | 0 | 80 |
6 | 2 | 0.667 | 0.01332 | 0 | 50 |
7 | 3 | 0.667 | 0.008325 | 0 | 80 |
8 | 4 | 1.334 | 0.00666 | 0 | 200 |
Tab.5 Data for Example 3 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 0.667 | 0.00667 | 0 | 100 |
2 | 1 | 1.000 | 0.01000 | 0 | 100 |
3 | 2 | 1.333 | 0.01333 | 0 | 100 |
4 | 3 | 1.333 | 0.00889 | 0 | 150 |
5 | 2 | 0.667 | 0.00667 | 0 | 100 |
6 | 3 | 0.667 | 0.00445 | 0 | 150 |
7 | 2 | 1.333 | 0.01330 | 0 | 100 |
8 | 3 | 1.333 | 0.00889 | 0 | 150 |
9 | 4 | 2.000 | 0.00667 | 0 | 300 |
10 | 5 | 1.333 | 0.00667 | 20 | 200 |
11 | 6 | 1.333 | 0.00667 | 20 | 200 |
Tab.6 Data for Example 4 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 1.333 | 0.01333 | 0 | 100 |
2 | 2 | 1.333 | 0.01333 | 0 | 150 |
3 | 3 | 1.000 | 0.00500 | 0 | 200 |
4 | 4 | 0.667 | 0.00445 | 0 | 150 |
5 | 5 | 0.667 | 0.00445 | 0 | 150 |
6 | 6 | 1.000 | 0.00500 | 0 | 200 |
Tab.7 Data for Example 5 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 1.333 | 0.01333 | 0 | 100 |
2 | 2 | 1.333 | 0.01333 | 0 | 150 |
3 | 3 | 1.000 | 0.00500 | 0 | 200 |
4 | 4 | 0.667 | 0.00445 | 0 | 150 |
5 | 5 | 0.667 | 0.00445 | 0 | 150 |
6 | 6 | 1.000 | 0.00500 | 0 | 200 |
7 | 7 | 1.333 | 0.01333 | 0 | 100 |
8 | 8 | 1.333 | 0.01333 | 0 | 150 |
Tab.8 Data for Example 6 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1‒3 | 1 | 1.333 | 0.01333 | 0 | 100 |
4‒6 | 2 | 1.333 | 0.01333 | 0 | 150 |
7‒9 | 3 | 1.000 | 0.00500 | 0 | 200 |
10‒12 | 4 | 0.667 | 0.00445 | 0 | 150 |
13‒15 | 5 | 0.667 | 0.00445 | 0 | 150 |
16‒18 | 6 | 1.000 | 0.00500 | 0 | 200 |
19‒21 | 7 | 1.333 | 0.01333 | 0 | 100 |
22‒24 | 8 | 1.333 | 0.01333 | 0 | 150 |
Tab.9 Data for Example 7 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 6.000 | 0 | 0 | 200 |
2 | 2 | 5.000 | 0 | 0 | 100 |
3 | 3 | 9.000 | 0 | 0 | 100 |
4 | 4 | 2.000 | 0 | 0 | 50 |
5 | 5 | 3.000 | 0 | 0 | 50 |
6 | 6 | 4.000 | 0 | 0 | 50 |
7 | 7 | 2.000 | 0 | 0 | 100 |
Tab.10 Data for Example 8 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 1.000 | 0 | 0 | 10 |
2 | 2 | 3.000 | 0 | 0 | 4 |
3 | 3 | 1.000 | 0 | 0 | 2 |
4 | 4 | 2.000 | 0 | 0 | 10 |
Tab.11 Data for Example 9 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 1.500 | 0 | 0 | 150 |
2 | 2 | 4.500 | 0 | 0 | 60 |
3 | 3 | 1.500 | 0 | 0 | 30 |
4 | 4 | 1.500 | 0 | 0 | 30 |
5 | 5 | 3.000 | 0 | 0 | 150 |
Tab.12 Data for Example 10 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 17.333 | 0.866 | 0 | 20 |
2 | 2 | 2.667 | 0.133 | 0 | 20 |
3 | 3 | 2.667 | 0.133 | 0 | 20 |
4 | 4 | 4.000 | 0.200 | 0 | 20 |
5 | 5 | 5.333 | 0.266 | 0 | 20 |
6 | 6 | 5.333 | 0.266 | 0 | 20 |
Tab.13 Data for Example 11 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 1.666 | 0.03335 | 0 | 40 |
2 | 2 | 2.333 | 0.08335 | 0 | 20 |
3 | 3 | 0.667 | 0.06600 | 0 | 5 |
4 | 4 | 2.667 | 0.008325 | 0 | 40 |
Tab.14 Data for Example 12 |
Task | Processing unit | ||||
---|---|---|---|---|---|
1 | 1 | 1.666 | 0.03335 | 0 | 40 |
2 | 2 | 2.333 | 0.08335 | 0 | 20 |
3 | 3 | 0.333 | 0.06800 | 0 | 2.5 |
4 | 4 | 2.667 | 0.008325 | 0 | 40 |
Tab.15 Computational results for Example 1 using maximization of productivity as objectivea) |
Example | Model | Event points | CPU time /s | RMILP /cu | MILP /cu | Discrete variables | Continuous variables | Constraints |
---|---|---|---|---|---|---|---|---|
1a | SF | 4 | 0.078 | 2000.00 | 1840.18 | 20 | 78 | 109 |
(H= 8 h) | M2 | 2 | 0.125 | 2000.00 | 1840.18 | 10 | 40 | 57 |
M1 | 2 | 0.062 | 2000.00 | 1840.18 | 10 | 47 | 58 | |
1b | SF | 5 | 0.094 | 3000.00 | 2628.19 | 25 | 97 | 137 |
(H= 10 h) | M2 | 3 | 0.109 | 3000.00 | 2628.19 | 15 | 59 | 85 |
M1 | 3 | 0.047 | 3000.00 | 2628.19 | 15 | 68 | 90 | |
1c | SF | 6 | 0.109 | 4000.00 | 3463.62 | 30 | 116 | 165 |
(H= 12 h) | M2 | 4 | 0.124 | 4000.00 | 3463.62 | 20 | 78 | 113 |
M1 | 4 | 0.078 | 4000.00 | 3463.62 | 20 | 89 | 122 | |
1d | SF | 9 | 1.29 | 6601.65 | 5038.05 | 45 | 173 | 249 |
(H= 16 h) | M2 | 7 | 1.54 | 6601.65 | 5038.05 | 35 | 135 | 197 |
M1 | 7 | 1.37 | 6601.65 | 5038.05 | 35 | 152 | 218 |
a) Dn = 0 for all cases |
Tab.16 Computational results for Example 2 using maximization of productivity as objective |
Example | Model | Event points | CPU time /s | RMILP /cu | MILP /cu | Discrete variables | Continuous variables | Constraints |
---|---|---|---|---|---|---|---|---|
2a | SF | 4 (Dn = 0) | 0.078 | 1730.87 | 1498.57 | 32 | 136 | 211 |
(H= 8 h) | M2 | 4 (Dn = 0) | 0.141 | 1730.87 | 1498.57 | 32 | 136 | 213 |
M1 | 4 (Dn = 0) | 0.062 | 1730.87 | 1498.57 | 32 | 126 | 180 | |
2b | SF | 6 (Dn = 0) | 0.889 | 2730.66 | 1943.17 | 48 | 202 | 331 |
(H= 10 h) | M2 | 6 (Dn = 0) | 0.889 | 2730.66 | 1943.17 | 48 | 202 | 331 |
M1 | 6 (Dn = 0) | 0.827 | 2730.66 | 1943.17 | 48 | 184 | 276 | |
SF | 6 (Dn = 1) | 5.41 | 2730.66 | 1962.69 | 88 | 242 | 737 | |
M2 | 6 (Dn = 1) | 5.10 | 2730.66 | 1962.69 | 88 | 242 | 739 | |
M1 | 6 (Dn = 1) | 2.78 | 2730.66 | 1962.69 | 88 | 224 | 316 | |
2c | SF | 7 (Dn= 0) | 2.39 | 3301.03 | 2658.52 | 56 | 235 | 388 |
(H= 12 h) | M2 | 7 (Dn = 0) | 2.78 | 3301.03 | 2658.52 | 56 | 235 | 390 |
M1 | 7 (Dn = 0) | 2.86 | 3301.03 | 2658.52 | 56 | 213 | 324 | |
2d | SF | 8 (Dn = 0) | 5.97 | 4291.68 | 3738.38 | 64 | 268 | 447 |
(H= 16 h) | M2 | 8 (Dn = 0) | 6.30 | 4291.68 | 3738.38 | 64 | 268 | 449 |
M1 | 8 (Dn = 0) | 3.94 | 4291.68 | 3738.38 | 64 | 242 | 372 |
Tab.17 Computational results for Example 3 using maximization of productivity as objective |
Example | Model | Event points | CPU time /s | RMILP /cu | MILP /cu | Discrete variables | Continuous variables | Constraints |
---|---|---|---|---|---|---|---|---|
3a | SF | 5 (Dn = 0) | 0.218 | 2100.00 | 1583.44 | 55 | 235 | 390 |
(H= 8 h) | M2 | 5 (Dn = 0) | 0.343 | 2100.00 | 1583.44 | 55 | 235 | 390 |
M1 | 5 (Dn = 0) | 0.358 | 2100.00 | 1583.44 | 55 | 229 | 346 | |
3b | SF | 7 (Dn = 0) | 6.24 | 3369.69 | 2305.55 | 77 | 327 | 560 |
(H= 10 h) | M2 | 7 (Dn = 0) | 6.42 | 3369.69 | 2305.55 | 77 | 327 | 560 |
M1 | 7 (Dn = 0) | 10.23 | 3369.69 | 2293.46 | 77 | 315 | 494 | |
SF | 8 (Dn = 1) | 3159 | 3618.64 | 2358.20 | 165 | 450 | 1433 | |
M2 | 8 (Dn = 1) | 3141 | 3618.64 | 2358.20 | 165 | 450 | 1433 | |
M1 | 8 (Dn = 1) | 892 | 3618.64 | 2358.20 | 165 | 435 | 659 | |
3c | SF | 7 (Dn = 0) | 0.437 | 3465.63 | 3041.27 | 77 | 327 | 560 |
(H= 12 h) | M2 | 7 (Dn = 0) | 0.406 | 3465.63 | 3041.27 | 77 | 327 | 560 |
M1 | 7 (Dn = 0) | 0.483 | 3465.63 | 3041.27 | 77 | 315 | 494 | |
3d | SF | 10 (Dn = 0) | 7.80 | 5225.86 | 4262.80 | 110 | 465 | 815 |
(H= 16 h) | M2 | 10 (Dn = 0) | 6.99 | 5225.86 | 4262.80 | 110 | 465 | 715 |
M1 | 10 (Dn = 0) | 8.81 | 5225.86 | 4262.80 | 110 | 444 | 716 |
Tab.18 Computational results for Examples 4‒7 using maximization of productivity as objectivea) |
Example | Model | Event points | CPU time /s | RMILP /cu | MILP /cu | Discrete variables | Continuous variables | Constraints |
---|---|---|---|---|---|---|---|---|
4 | SF | 10 | 24.18 | 6601.65 | 4305.46 | 60 | 232 | 345 |
(H= 16 h) | M2 | 7 | 27.63 | 6601.65 | 4305.46 | 42 | 163 | 246 |
M1 | 7 | 35.88 | 6601.65 | 4305.46 | 42 | 188 | 279 | |
5a | SF | 8 | 0.141 | 1500.00 | 1414.18 | 64 | 250 | 369 |
(H= 16 h) | M2 | 3 | 0.156 | 1500.00 | 1414.18 | 24 | 95 | 142 |
M1 | 3 | 0.156 | 1500.00 | 1414.18 | 24 | 116 | 159 | |
5b | SF | 14 | 0.343 | 4500.00 | 4414.80 | 112 | 436 | 651 |
(H= 32 h) | M2 | 9 | 0.250 | 4500.00 | 4414.80 | 72 | 281 | 424 |
M1 | 9 | 0.296 | 4500.00 | 4414.80 | 72 | 332 | 501 | |
6a | SF | 57 | 1.61 | 25000.00 | 24927.50 | 570 | 2225 | 3354 |
(H= 144 h) | M2 | 50 | 6.13 | 25000.00 | 24927.50 | 500 | 1952 | 2951 |
M1 | 50 | 1.90 | 25000.00 | 24927.50 | 500 | 2310 | 3634 | |
6b | SF | 111 | 13.84 | 52000.00 | 51933.10 | 1110 | 4331 | 6540 |
(H= 288 h) | M2 | 104 | 25.72 | 52000.00 | 51933.10 | 1040 | 4058 | 6137 |
M1 | 104 | 12.14 | 52000.00 | 51933.10 | 1040 | 4794 | 7576 | |
6c | SF | 219 | 40.82 | 106000.00 | 105944.00 | 2190 | 8543 | 12912 |
(H= 576 h) | M2 | 212 | 8.30 | 106000.00 | 105944.00 | 2120 | 8270 | 12509 |
M1 | 212 | 27.97 | 106000.00 | 105944.00 | 2120 | 9762 | 15460 | |
7 | SF | 49 | 33.81 | 21000.00 | 20935.30 | 1176 | 4853 | 8540 |
(H= 128 h) | M2 | 42 | 43.54 | 21000.00 | 20935.30 | 1008 | 4160 | 7329 |
M1 | 42 | 33.59 | 21000.00 | 20935.30 | 1008 | 3724 | 5768 |
a) Dn = 0 for all cases |
Tab.19 Computational results for Examples 8‒12 using maximization of productivity as objectivea) |
Example | Model | Event points | CPU time /s | RMILP /cu | MILP /cu | Discrete variables | Continuous variables | Constraints |
---|---|---|---|---|---|---|---|---|
8 | SF | 5 | 0.109 | 14.00 | 10.00 | 20 | 82 | 117 |
(H= 6 h) | M2 | 3 | 0.078 | 14.00 | 10.00 | 12 | 40 | 73 |
M1 | 3 | 0.062 | 14.00 | 10.00 | 12 | 46 | 79 | |
9 | SF | 5 | 0.125 | 300.00 | 210.00 | 25 | 114 | 160 |
(H= 9 h) | M2 | 3 | 0.109 | 300.00 | 210.00 | 15 | 60 | 100 |
M1 | 3 | 0.062 | 300.00 | 210.00 | 15 | 80 | 105 | |
10 | SF | 5 | 0.109 | 80.00 | 58.99 | 30 | 123 | 175 |
(H= 76 h) | M2 | 2 | 0.125 | 80.00 | 58.99 | 12 | 51 | 73 |
M1 | 2 | 0.046 | 80.00 | 58.99 | 12 | 61 | 76 | |
11 | SF | 6 | 0.109 | 400.00 | 400.00 | 24 | 110 | 153 |
(H= 10 h) | M2 | 4 | 0.109 | 400.00 | 400.00 | 16 | 74 | 105 |
M1 | 4 | 0.093 | 400.00 | 400.00 | 16 | 95 | 129 | |
12 | SF | 10 | 0.203 | 400.00 | 400.00 | 40 | 182 | 257 |
(H= 5 h) | M2 | 8 | 0.093 | 400.00 | 400.00 | 32 | 146 | 209 |
M1 | 8 | 0.093 | 400.00 | 400.00 | 32 | 183 | 265 |
a) Dn = 0 for all cases |
Tab.20 Computational results for Examples 1‒3 using minimization of makespan as objective |
Example | Model | Event points | CPU time /s | RMILP /h | MILP /h | Discrete variables | Continuous variables | Constraints |
---|---|---|---|---|---|---|---|---|
1a (H= 50 h) | SF | 14 | 11.45 | 24.24 | 27.88 | 70 | 268 | 394 |
=2000 | M2 | 12 | 5.30 | 25.36 | 27.88 | 60 | 230 | 342 |
M1 | 12 | 6.96 | 24.24 | 27.88 | 60 | 254 | 383 | |
1b (H= 100 h) | SF | 23 | 7.50 | 48.47 | 52.07 | 115 | 439 | 646 |
=4000 | M2 | 21 | 5.70 | 50.06 | 52.07 | 105 | 401 | 594 |
M1 | 21 | 4.81 | 48.47 | 52.07 | 105 | 443 | 671 | |
2a(H= 50 h) | SF | 9 | 96.00 | 10.78 | 19.34 | 72 | 301 | 515 |
=200 | M2 | 9 | 28.78 | 10.78 | 19.34 | 72 | 301 | 515 |
=200 | M1 | 9 | 46.58 | 18.68 | 19.34 | 72 | 265 | 425 |
2b(H= 100 h) | SF | 19 | 3600a) | 45.57 | 46.31 | 152 | 631 | 1105 |
=500 | M2 | 19 | 3600b) | 45.57 | 46.31 | 152 | 631 | 1107 |
=400 | M1 | 19 | 3600c) | 45.57 | 46.31 | 152 | 555 | 905 |
3a (H= 50 h) | SF | 7 | 0.187 | 11.07 | 13.37 | 77 | 327 | 572 |
=100 | M2 | 7 | 0.250 | 11.07 | 13.37 | 77 | 327 | 572 |
=200 | M1 | 7 | 0.374 | 11.25 | 13.37 | 77 | 306 | 501 |
3b (H= 50 h) | SF | 10 | 0.515 | 12.50 | 17.03 | 110 | 465 | 827 |
=250 | M2 | 10 | 0.374 | 12.76 | 17.03 | 110 | 465 | 827 |
=250 | M1 | 10 | 0.359 | 14.27 | 17.03 | 110 | 435 | 723 |
a) Relative gap 1.10%; b) Relative gap 1.43%; c) Relative gap 1.58%. Note Dn = 0 for all cases |
Tab.21 Computational results for Example 4 using the iterative procedure (maximization of productivity) |
Event point | CPU time /s | ||||
---|---|---|---|---|---|
SF | M1 | ||||
(Dn = 0) | (Dn = 1) | (Dn = 0) | (Dn = 1) | ||
n = 1 | ‒ | ‒ | 0.093 | 0.078 | |
n = 2 | ‒ | ‒ | 0.062 | 0.078 | |
n = 3 | ‒ | ‒ | 0.078 | 0.031 | |
n = 4 | 0.031 | 0.062 | 0.078 | 0.187 | |
n = 5 | 0.062 | 0.094 | 0.218 | 0.405 | |
n = 6 | 0.078 | 0.078 | 1.36 | 9.70 | |
n = 7 | 0.046 | 0.188 | 35.88 | 700 | |
n = 8 | 0.250 | 0.421 | 532.5 | ‒ | |
n = 9 | 1.20 | 19.6 | ‒ | ‒ | |
n = 10 | 24.18 | 2027 | ‒ | ‒ | |
n = 11 | 698 | ‒ | ‒ | ‒ | |
Total | 2771 | 1281 |