| Literature DB >> 32596522 |
Iman Roozbeh1, John W Hearne1, Delaram Pahlevani1.
Abstract
The orienteering problem with time windows and synchronisation constraints, known as the Cooperative Orienteering Problem with Time Windows (COPTW), is a class of problems with some important applications such as in home health care and emergency logistics management, and yet has received relatively little attention. In the COPTW, a certain number of team members are required to collect the associated reward from each node simultaneously and cooperatively. This requirement to have one or more team members simultaneously available at a vertex to collect the reward poses a challenging task. It means that while multiple paths need to be determined as in the team orienteering problem with time-windows (TOPTW), there is the additional requirement that certain paths must meet at some of the vertices. Exact methods are too slow for operational purposes and they are not able to handle large scale instances of the COPTW. In this paper, we address the problem of finding solutions to the COPTW in times that make the approach suitable for use in certain emergency response situations. This is achieved by developing new merit-based heuristics as elements of an Adaptive Large Neighbourhood Search (ALNS) algorithm. We validate the performance of this new approach through an extensive computational study. The computational results show that the proposed method is effective in obtaining high quality solutions in times that are suitable for operational purposes.Entities:
Keywords: Adaptive large neighbourhood search; Algorithms; Industrial engineering; Mathematical modeling; Mathematical optimization; Mathematics; Multidisciplinary design optimization; Orienteering problem with time windows; Synchronisation constraint; Vehicle routing problem
Year: 2020 PMID: 32596522 PMCID: PMC7306599 DOI: 10.1016/j.heliyon.2020.e04202
Source DB: PubMed Journal: Heliyon ISSN: 2405-8440
Figure 1A sample solution of the COPTW.
Statistics for performance of the removal and insertion algorithms. The problem specific heuristics are indicated with an asterisk (*). Numbers in the Table 2 represent the average results for five instances after ten runs (5 instances×10 runs). The second column denotes the name of algorithms, the third column illustrates the percentage of total iterations that a corresponding algorithm is chosen. The fourth, fifth and sixth columns show the change in the objective values after exclusion of the corresponding algorithm. A positive value indicates an improvement in the objective value. The last column indicates heuristics chosen to omit (Y) or not (N) in subsequent use of the ALNS.
Algorithm 1Pseudocode for the merit-based heuristic.
Figure 2An illustrative improvement by the cumulative merit-based heuristic. Fig. 2(a) is an insertion made by the MB heuristic compared to the CMB heuristic in Fig. 3(b).
Figure 3An illustrative insertion of the greedy time heuristic. Fig. 3(a) shows two alternatives for insertion, and Fig. 3(b) is the insertion made by the GT heuristic.
Algorithm 2The overall structure for the ALNS algorithm with simulated annealing.
Parameter tuning results.
| Description | Parameter | Value |
|---|---|---|
| Parameters for MB heuristic | ( | (2,1,3) |
| Improving solution score | 12 | |
| Number of iterations | 3000 | |
| Number of iterations over each segment | 100 | |
| Roulette wheel reaction factor | 0.1 | |
| Global solution score | 35 | |
| Worse solution score | 5 | |
| Shaw parameters | (3,13,7) | |
| SA parameter | 0.05 | |
| Cooling rate | 0.9999 | |
| Noise parameter | 0.6 | |
| WDR determinism factor | 8 | |
| Shaw determinism factor | 12 |
A performance comparison of results for 100-nodes. APP represents results for asset protection problem and ALNS shows our results. Vehicle numbers are defined in two categories: Set1 = (V1=6, V2=5, V3=4) and Set2 = (V1=7, V2=6, V3=5). Results in the table are percentage values of scores collected and time is in seconds.
| Instances | # Vehicles | APP | ALNS | Δ | Δ | ||||
|---|---|---|---|---|---|---|---|---|---|
| time | Avg | Best | time | Avg | Best | ||||
| C100 | Set1 | 138.47 | 60.17 | 61.84 | 135.83 | 62.34 | 63.18 | 3.48 | 2.12 |
| Set2 | 150.39 | 66.66 | 68.35 | 154.27 | 68.46 | 69.70 | 2.63 | 1.95 | |
| C200 | Set1 | 133.48 | 59.04 | 60.72 | 130.64 | 61.06 | 61.92 | 3.31 | 1.94 |
| Set2 | 143.92 | 64.87 | 66.58 | 136.67 | 66.73 | 67.73 | 2.79 | 1.70 | |
| R100 | Set1 | 134.47 | 61.19 | 62.50 | 125.48 | 63.39 | 64.49 | 3.47 | 3.09 |
| Set2 | 138.97 | 68.45 | 69.86 | 131.66 | 70.28 | 71.31 | 2.60 | 2.03 | |
| R200 | Set1 | 135.75 | 63.64 | 65.30 | 129.17 | 65.80 | 66.75 | 3.28 | 2.17 |
| Set2 | 144.65 | 69.76 | 71.38 | 134.30 | 71.66 | 72.74 | 2.65 | 1.87 | |
| RC100 | Set1 | 143.41 | 66.77 | 68.59 | 146.12 | 68.84 | 69.98 | 3.01 | 1.99 |
| Set2 | 149.53 | 73.21 | 75.17 | 152.94 | 74.94 | 75.85 | 2.31 | 0.90 | |
| RC200 | Set1 | 142.97 | 67.17 | 69.13 | 130.35 | 69.35 | 70.45 | 3.14 | 1.87 |
| Set2 | 146.91 | 73.12 | 74.71 | 139.50 | 74.95 | 75.79 | 2.44 | 1.42 | |
A summary of the ALNS performance for small-size instances for 10 and 12 nodes on C100, R100 and RC100 datasets. All computational times are in seconds.
| Set | # Members | 10 | 12 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| CPLEX | ALNS | Δ | Δ | CPLEX | ALNS | Δ | Δ | ||
| C100 | p=3 | 62.15 | 5.48 | 0.00 | 0.00 | 142.37 | 6.86 | 0.00 | 0.00 |
| p=4 | 80.16 | 61.24 | 0.00 | 0.00 | 61.75 | 113.21 | 0.00 | 0.00 | |
| R100 | p=3 | 244.29 | 4.55 | 0.00 | 0.00 | 5809.95 | 6.91 | 0.00 | 0.00 |
| p=4 | 355.91 | 28.78 | -0.02 | 0.00 | 6018.78 | 43.48 | -0.20 | 0.00 | |
| RC100 | p=3 | 356.87 | 26.33 | 0.00 | 0.00 | 4502.62 | 21.19 | -0.28 | 0.00 |
| p=4 | 277.14 | 60.99 | -0.13 | 0.00 | 3297.12 | 111.34 | -0.10 | 0.00 | |
A summary of the ALNS performance for small-size instances for 24 and 26 nodes on C200, R200 and RC200 dataset. All computational times are in seconds.
| Set | # Members | 24 | 26 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| CPLEX | ALNS | Δ | Δ | CPLEX | ALNS | Δ | Δ | ||
| C200 | p=3 | 140.95 | 51.79 | 0.00 | 0.00 | 217.15 | 55.87 | 0.00 | 0.00 |
| p=4 | 145.81 | 92.63 | 0.00 | 0.00 | 144.80 | 104.69 | 0.00 | 0.00 | |
| R200 | p=3 | 351.03 | 117.21 | 0.00 | 0.00 | 473.92 | 128.09 | 0.00 | 0.00 |
| p=4 | 224.51 | 132.4 | 0.00 | 0.00 | 286.45 | 134.96 | 0.00 | 0.00 | |
| RC200 | p=3 | 509.47 | 130.13 | 0.00 | 0.00 | 4516.54 | 147.05 | -0.38 | 0.00 |
| p=4 | 313.45 | 143.61 | 0.00 | 0.00 | 336.61 | 168.53 | -0.04 | 0.00 | |
Figure 4Scheduled tour by ALNS.
Computational results for the larger instances with 100 vertices. Results are shown as the percentage of rewards collected.
| Set | # Members | 100 | ||||
|---|---|---|---|---|---|---|
| worst (%) | average (%) | best (%) | best removal algorithms | best insertion algorithms | ||
| C100 | p=4 | 35.36 | 35.98 | 36.71 | WDR/HNR/WTR/WTOR | MB/NMB/GT/NCMB |
| p=6 | 46.41 | 46.95 | 47.82 | WDR/WTR/TR/SR | MB/NCMB/NMB/GT | |
| C200 | p=4 | 72.17 | 73.25 | 74.65 | WDR/WTR/HNR/RR1 | MB/NMB/NCMB/GT |
| p=6 | 85.84 | 87.00 | 88.26 | WDR/HNR/WTR/WTOR | MB/NMB/NCMB/GT | |
| R100 | p=4 | 32.48 | 33.48 | 34.44 | WDR/WTR/WRR/RRR1 | MB/NCMB/NMB/GT |
| p=6 | 42.26 | 43.40 | 44.71 | WDR/RRR1/WTR/WTOR | MB/NMB/GT/NCMB | |
| R200 | p=4 | 74.26 | 75.99 | 78.32 | WDR/WTR/SR/TR | MB/NCMB/NMB/GT |
| p=6 | 87.00 | 88.57 | 90.61 | WDR/WTR/RRR1/SR | MB/NMB/GT/NCMB | |
| RC100 | p=4 | 30.12 | 30.78 | 31.51 | HNR/WTR/WTOR/WDR | MB/NMB/GT/NCMB |
| p=6 | 39.96 | 40.74 | 41.51 | WDR/WTOR/HNR/RRR1 | MB/NMB/GT/NCMB | |
| RC200 | p=4 | 66.63 | 68.37 | 70.44 | WDR/WTR/WTOR/TR | MB/NMB/GT/NCMB |
| p=6 | 81.70 | 83.61 | 86.09 | WTR/WDR/RRR1/SR | MB/NCMB/NMB/GT | |