You are the vehicle dispatcher for a delivery service that serves a mix of ‘easy’ customers who are quite pleasant when the driver arrives and ‘hard’ customers who are difficult to manage. In order to keep the drivers happy, you never assign a driver to visit two hard customers in a row. Thus, for each driver, given a set of ‘easy’ and ‘hard’ customers to visit, your goal is to minimize the travel time to visit all customers, starting and returning from the company depot, satisfying the constraint that a hard customer visit cannot be followed by another hard customer.
This problem can be infeasible if the number of hard customers is greater than the number of easy customers. Let’s assume that this is sometimes the case. As dispatcher, you have decided to relax the constraint that a hard customer visit cannot be followed by another hard customer. Rather, you want to minimize the number of times this happens and minimize the route travel length.
nodes | 17 | ||||||||||||||||||
1 | Easy | 0 | 633 | 257 | 91 | 412 | 150 | 80 | 134 | 259 | 505 | 353 | 324 | 70 | 211 | 268 | 246 | 121 | |
2 | Easy | 633 | 0 | 390 | 661 | 227 | 488 | 572 | 530 | 555 | 289 | 282 | 638 | 567 | 466 | 420 | 745 | 518 | |
3 | Hard | 257 | 390 | 0 | 228 | 169 | 112 | 196 | 154 | 372 | 262 | 110 | 437 | 191 | 74 | 53 | 472 | 142 | |
4 | Hard | 91 | 661 | 228 | 0 | 383 | 120 | 77 | 105 | 175 | 476 | 324 | 240 | 27 | 182 | 239 | 237 | 84 | |
5 | Easy | 412 | 227 | 169 | 383 | 0 | 267 | 351 | 309 | 338 | 196 | 61 | 421 | 346 | 243 | 199 | 528 | 297 | |
6 | Hard | 150 | 488 | 112 | 120 | 267 | 0 | 63 | 34 | 264 | 360 | 208 | 329 | 83 | 105 | 123 | 364 | 35 | |
7 | Hard | 80 | 572 | 196 | 77 | 351 | 63 | 0 | 29 | 232 | 444 | 292 | 297 | 47 | 150 | 207 | 332 | 29 | |
8 | Easy | 134 | 530 | 154 | 105 | 309 | 34 | 29 | 0 | 249 | 402 | 250 | 314 | 68 | 108 | 165 | 349 | 36 | |
9 | Hard | 259 | 555 | 372 | 175 | 338 | 264 | 232 | 249 | 0 | 495 | 352 | 95 | 189 | 326 | 383 | 202 | 236 | |
10 | Hard | 505 | 289 | 262 | 476 | 196 | 360 | 444 | 402 | 495 | 0 | 154 | 578 | 439 | 336 | 240 | 685 | 390 | |
11 | Easy | 353 | 282 | 110 | 324 | 61 | 208 | 292 | 250 | 352 | 154 | 0 | 435 | 287 | 184 | 140 | 542 | 238 | |
12 | Hard | 324 | 638 | 437 | 240 | 421 | 329 | 297 | 314 | 95 | 578 | 435 | 0 | 254 | 391 | 448 | 157 | 301 | |
13 | Hard | 70 | 567 | 191 | 27 | 346 | 83 | 47 | 68 | 189 | 439 | 287 | 254 | 0 | 145 | 202 | 289 | 55 | |
14 | Easy | 211 | 466 | 74 | 182 | 243 | 105 | 150 | 108 | 326 | 336 | 184 | 391 | 145 | 0 | 57 | 426 | 96 | |
15 | Easy | 268 | 420 | 53 | 239 | 199 | 123 | 207 | 165 | 383 | 240 | 140 | 448 | 202 | 57 | 0 | 483 | 153 | |
16 | Hard | 246 | 745 | 472 | 237 | 528 | 364 | 332 | 349 | 202 | 685 | 542 | 157 | 289 | 426 | 483 | 0 | 336 | |
17 | Hard | 121 | 518 | 142 | 84 | 297 | 35 | 29 | 36 | 236 | 390 | 238 | 301 | 55 | 96 | 153 | 336 | 0 |
nodes | 26 | |||||||||||||||||||||||||||
1 | Easy | 0 | 83 | 93 | 129 | 133 | 139 | 151 | 169 | 135 | 114 | 110 | 98 | 99 | 95 | 81 | 152 | 159 | 181 | 172 | 185 | 147 | 157 | 185 | 220 | 127 | 181 | |
2 | Easy | 83 | 0 | 40 | 53 | 62 | 64 | 91 | 116 | 93 | 84 | 95 | 98 | 89 | 68 | 67 | 127 | 156 | 175 | 152 | 165 | 160 | 180 | 223 | 268 | 179 | 197 | |
3 | Hard | 93 | 40 | 0 | 42 | 42 | 49 | 59 | 81 | 54 | 44 | 58 | 64 | 54 | 31 | 36 | 86 | 117 | 135 | 112 | 125 | 124 | 147 | 193 | 241 | 157 | 161 | |
4 | Hard | 129 | 53 | 42 | 0 | 11 | 11 | 46 | 72 | 65 | 70 | 88 | 100 | 89 | 66 | 76 | 102 | 142 | 156 | 127 | 139 | 155 | 180 | 228 | 278 | 197 | 190 | |
5 | Hard | 133 | 62 | 42 | 11 | 0 | 9 | 35 | 61 | 55 | 62 | 82 | 95 | 84 | 62 | 74 | 93 | 133 | 146 | 117 | 128 | 148 | 173 | 222 | 272 | 194 | 182 | |
6 | Easy | 139 | 64 | 49 | 11 | 9 | 0 | 39 | 65 | 63 | 71 | 90 | 103 | 92 | 71 | 82 | 100 | 141 | 153 | 124 | 135 | 156 | 181 | 230 | 280 | 202 | 190 | |
7 | Hard | 151 | 91 | 59 | 46 | 35 | 39 | 0 | 26 | 34 | 52 | 71 | 88 | 77 | 63 | 78 | 66 | 110 | 119 | 88 | 98 | 130 | 156 | 206 | 257 | 188 | 160 | |
8 | Easy | 169 | 116 | 81 | 72 | 61 | 65 | 26 | 0 | 37 | 59 | 75 | 92 | 83 | 76 | 91 | 54 | 98 | 103 | 70 | 78 | 122 | 148 | 198 | 250 | 188 | 148 | |
9 | Easy | 135 | 93 | 54 | 65 | 55 | 63 | 34 | 37 | 0 | 22 | 39 | 56 | 47 | 40 | 55 | 37 | 78 | 91 | 62 | 74 | 96 | 122 | 172 | 223 | 155 | 128 | |
10 | Hard | 114 | 84 | 44 | 70 | 62 | 71 | 52 | 59 | 22 | 0 | 20 | 36 | 26 | 20 | 34 | 43 | 74 | 91 | 68 | 82 | 86 | 111 | 160 | 210 | 136 | 121 | |
11 | Hard | 110 | 95 | 58 | 88 | 82 | 90 | 71 | 75 | 39 | 20 | 0 | 18 | 11 | 27 | 32 | 42 | 61 | 80 | 64 | 77 | 68 | 92 | 140 | 190 | 116 | 103 | |
12 | Easy | 98 | 98 | 64 | 100 | 95 | 103 | 88 | 92 | 56 | 36 | 18 | 0 | 11 | 34 | 31 | 56 | 63 | 85 | 75 | 87 | 62 | 83 | 129 | 178 | 100 | 99 | |
13 | Hard | 99 | 89 | 54 | 89 | 84 | 92 | 77 | 83 | 47 | 26 | 11 | 11 | 0 | 23 | 24 | 53 | 68 | 89 | 74 | 87 | 71 | 93 | 140 | 189 | 111 | 107 | |
14 | Hard | 95 | 68 | 31 | 66 | 62 | 71 | 63 | 76 | 40 | 20 | 27 | 34 | 23 | 0 | 15 | 62 | 87 | 106 | 87 | 100 | 93 | 116 | 163 | 212 | 132 | 130 | |
15 | Easy | 81 | 67 | 36 | 76 | 74 | 82 | 78 | 91 | 55 | 34 | 32 | 31 | 24 | 15 | 0 | 73 | 92 | 112 | 96 | 109 | 93 | 113 | 158 | 205 | 122 | 130 | |
16 | Hard | 152 | 127 | 86 | 102 | 93 | 100 | 66 | 54 | 37 | 43 | 42 | 56 | 53 | 62 | 73 | 0 | 44 | 54 | 26 | 39 | 68 | 94 | 144 | 196 | 139 | 95 | |
17 | Easy | 159 | 156 | 117 | 142 | 133 | 141 | 110 | 98 | 78 |