| Literature DB >> 26176764 |
Xiaopan Chen1, Yunfeng Kong2, Lanxue Dang1, Yane Hou1, Xinyue Ye3.
Abstract
As a class of hard combinatorial optimization problems, the school bus routing problem has received considerable attention in the last decades. For a multi-school system, given the bus trips for each school, the school bus scheduling problem aims at optimizing bus schedules to serve all the trips within the school time windows. In this paper, we propose two approaches for solving the bi-objective school bus scheduling problem: an exact method of mixed integer programming (MIP) and a metaheuristic method which combines simulated annealing with local search. We develop MIP formulations for homogenous and heterogeneous fleet problems respectively and solve the models by MIP solver CPLEX. The bus type-based formulation for heterogeneous fleet problem reduces the model complexity in terms of the number of decision variables and constraints. The metaheuristic method is a two-stage framework for minimizing the number of buses to be used as well as the total travel distance of buses. We evaluate the proposed MIP and the metaheuristic method on two benchmark datasets, showing that on both instances, our metaheuristic method significantly outperforms the respective state-of-the-art methods.Entities:
Mesh:
Year: 2015 PMID: 26176764 PMCID: PMC4503688 DOI: 10.1371/journal.pone.0132600
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Fig 1Two bus route plans for an example of school district.
Parameters and decision variables for homogeneous fleet bus scheduling problem.
| Parameters | |
|
| The set of schools |
|
| The time windows for school |
|
| The set of single-school bus trips |
|
| The set of bus trips and the bus depot 0, |
|
| The destination school of bus trip |
|
| The service time for bus trip |
|
| The distance from |
|
| The travel time from |
|
| The earliest and latest departure time for buses from the depot |
| Decision variables | |
|
| If a bus serves trip |
|
| The arrival time at the destination school of trip |
Parameters and decision variables for heterogeneous fleet school bus scheduling problem.
| Parameters | |
|
| The set of bus types |
|
| The fixed cost of a bus of type |
|
| The capacity of a bus of type |
|
| The number of buses of type |
|
| The number of students serviced by trip |
|
| If a bus of type |
| Decision variables | |
|
| If a bus of type |
|
| The arrival time at the destination school of trip |
The school bus scheduling instances HOMO and HETERO.
| Homogeneous fleet instances | Heterogeneous fleet instances | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Instance | #schools | #trips | #students | #buses | Instance | #schools | #trips | #students | #buses |
| homo1 | 1 | 3 | 143 | 3 | hetero1 | 1 | 7 | 335 | 7 |
| homo2 | 2 | 13 | 611 | 13 | hetero2 | 2 | 13 | 596 | 13 |
| homo3 | 3 | 20 | 975 | 20 | hetero3 | 3 | 21 | 1012 | 21 |
| homo4 | 4 | 23 | 1154 | 23 | hetero4 | 4 | 24 | 1199 | 24 |
| homo5 | 5 | 29 | 1448 | 29 | hetero5 | 5 | 32 | 1610 | 32 |
| homo10 | 10 | 49 | 2405 | 49 | hetero10 | 10 | 58 | 3002 | 58 |
| homo20 | 20 | 106 | 5097 | 106 | hetero20 | 20 | 120 | 6012 | 120 |
| homo30 | 30 | 161 | 8155 | 161 | hetero30 | 30 | 187 | 9415 | 187 |
| homo40 | 40 | 234 | 11528 | 234 | hetero40 | 40 | 239 | 12136 | 239 |
| homo50 | 50 | 309 | 15238 | 309 | hetero50 | 50 | 286 | 14352 | 286 |
| homo60 | 60 | 372 | 18551 | 372 | hetero60 | 60 | 345 | 17350 | 345 |
| homo70 | 70 | 430 | 21554 | 430 | hetero70 | 70 | 408 | 20723 | 408 |
| homo80 | 80 | 461 | 23066 | 461 | hetero80 | 80 | 469 | 23686 | 469 |
| homo90 | 90 | 514 | 25736 | 514 | hetero90 | 90 | 514 | 25736 | 514 |
| homo100 | 100 | 562 | 28175 | 562 | hetero100 | 100 | 562 | 28175 | 562 |
CPLEX results for the homogeneous fleet instances.
| Instance | MIPHO[ | MIPHO-B | ||||||
|---|---|---|---|---|---|---|---|---|
| N | D | T(s) | Gap(%) | N | D | T(s) | Gap(%) | |
| homo1 | 3 | 0 | 0.33 | opt. | 3 | 0 | 0.02 | opt. |
| homo2 | 10 | 119 | 0.06 | opt. | 10 | 119 | 0.06 | opt. |
| homo3 | 10 | 418 | 0.08 | opt. | 10 | 418 | 0.05 | opt. |
| homo4 | 10 | 441 | 0.08 | opt. | 10 | 441 | 0.03 | opt. |
| homo5 | 15 | 380 | 0.08 | opt. | 15 | 380 | 0.03 | opt. |
| homo10 | 17 | 806 | 0.17 | opt. | 17 | 806 | 0.09 | opt. |
| homo20 | 45 | 1265 | 0.38 | opt. | 45 | 1265 | 0.19 | opt. |
| homo30 | 57 | 2132 | 25.72 | opt. | 57 | 2132 | 7.88 | opt. |
| homo40 | 63 | 3091 | 91.31 | opt. | 63 | 3091 | 7.86 | opt. |
| homo50 | 88 | 3421 | 241.31 | opt. | 88 | 3421 | 22.75 | opt. |
| homo60 | 90 | 4260 | 1303.55 | opt. | 90 | 4255 | 192.16 | opt. |
| homo70 | 101 | 4962 | 1 hour | - | 99 | 4921 | 1 hour | 1.01 |
| homo80 | 109 | 5296 | 1 hour | - | 106 | 5252 | 1 hour | 5.43 |
| homo90 | 124 | 5212 | 1 hour | - | 117 | 5864 | 1 hour | 11.23 |
| homo100 | 135 | 5425 | 1 hour | - | 127 | 6211 | 1 hour | 16.52 |
CPLEX results for the heterogeneous fleet instances.
| Instance | MIPHE[ | MIPHE-B | ||||||
|---|---|---|---|---|---|---|---|---|
| N | D | T(s) | Gap(%) | N | D | T(s) | Gap(%) | |
| hetero1 | 7 | 0 | 0.015 | opt. | 7(1,2,4) | 0 | 0.02 | opt. |
| hetero2 | 7 | 231 | 0.078 | opt. | 7(2,2,3) | 231 | 0.03 | opt. |
| hetero3 | 9 | 377 | 0.235 | opt. | 9(2,3,4) | 377 | 0.06 | opt. |
| hetero4 | 11 | 359 | 0.281 | opt. | 11(1,3,7) | 359 | 0.05 | opt. |
| hetero5 | 17 | 402 | 1.266 | opt. | 17(5,4,8) | 412 | 0.06 | opt. |
| hetero10 | 24 | 924 | 7.703 | opt. | 24(6,5,13) | 963 | 0.19 | opt. |
| hetero20 |
|
|
|
| 50(14,14,22) | 1476 | 0.36 | opt. |
| hetero30 |
|
|
|
| 56(11,17,28) | 2917 | 52.98 | opt. |
| hetero40 |
|
|
|
| 67(16,15,36) | 3301 | 209.68 | opt. |
| hetero50 |
|
|
|
| 76(16,20,40) | 3471 | 803.81 | opt. |
| hetero60 |
|
|
|
| 88(17,22,49) | 4205 | 1 hour | 2.3 |
| hetero70 |
|
|
|
| 104(17,23,64) | 5392 | 1 hour | 4.5 |
| hetero80 |
|
|
|
| 119(26,28,65) | 5474 | 1 hour | 4.1 |
| hetero90 |
|
|
|
| 132(28,25,79) | 5774 | 1 hour | 23.8 |
| hetero100 |
|
|
|
| 146(32,28,86) | 5899 | 1 hour | 26.4 |
Heuristic results for the homogeneous fleet instances.
| Instance | SA-heuristic | Heuristic[ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Nbest | Nave | Ndev | Ngap(%) | Dbest | Dave | Ddev | Dgap(%) | T(s) | N | D | |
| homo1 | 3 | 3 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | 0.22 | 3 | 0 |
| homo2 | 10 | 10 | 0 | 0.00 | 119 | 119 | 0 | 0.00 | 0.33 | 10 | 119 |
| homo3 | 10 | 10 | 0 | 0.00 | 418 | 418 | 0 | 0.00 | 0.66 | 10 | 418 |
| homo4 | 10 | 10 | 0 | 0.00 | 441 | 441 | 0 | 0.00 | 0.81 | 10 | 441 |
| homo5 | 15 | 15 | 0 | 0.00 | 380 | 380 | 0 | 0.00 | 1.23 | 15 | 394 |
| homo10 | 17 | 17 | 0 | 0.00 | 806 | 806 | 0 | 0.00 | 3.35 | 17 | 838 |
| homo20 | 45 | 45 | 0 | 0.00 | 1283 | 1286.7 | 7.27 | 1.40 | 22.26 | 45 | 1393 |
| homo30 | 58 | 58 | 0 | 1.72 | 2018 | 2026.6 | 7.31 | -5.65 | 64.81 | 57 | 2445 |
| homo40 | 63 | 63 | 0 | 0.00 | 3124 | 3140.2 | 12.73 | 1.06 | 147.48 | 65 | 3320 |
| homo50 | 88 | 88 | 0 | 0.00 | 3457 | 3489.8 | 34.32 | 1.04 | 509.31 | 88 | 3757 |
| homo60 | 90 | 91 | 0.47 | 0.00 | 4873 | 4307.9 | 52.54 | 12.68 | 829.48 | 94 | 4266 |
| homo70 | 103 | 103.5 | 0.53 | 3.88 | 4590 | 4545.6 | 77.29 | -7.21 | 1841.86 | 106 | 4565 |
| homo80 | 108 | 109.2 | 0.63 | 1.85 | 4798 | 4686.6 | 70.92 | -9.46 | 1503.25 | 111 | 5023 |
| homo90 | 116 | 116.1 | 0.32 | -0.86 | 4890 | 4902.7 | 32.74 | -19.92 | 3071.60 | 117 | 5466 |
| homo100 | 124 | 124.8 | 0.63 | -2.42 | 5357 | 5304.3 | 59.01 | -15.94 | 3460.68 | 126 | 5902 |
| Average | 57.3 | 57.6 | 0.2 | 0.53 | 2436.9 | 2390.3 | 23.6 | -5.65 | 730.2 | 58.3 | 2556.5 |
Heuristic results for the heterogeneous fleet instances.
| Instance | Nbest | Nave | Ndev | Dbest | Dave | Ddev | T(s) | Gap1 | Gap2 | Gap3 |
|---|---|---|---|---|---|---|---|---|---|---|
| hetero1 | 7(1,2,4) | 7 | 0 | 0 | 0 | 0 | 0.58 | 0.00 | 0.00 | 0.00 |
| hetero2 | 7(2,2,3) | 7 | 0 | 231 | 231 | 0 | 0.61 | 0.00 | 0.00 | 0.00 |
| hetero3 | 9(2,3,4) | 9 | 0 | 377 | 377 | 0 | 0.66 | 0.00 | 0.00 | 0.00 |
| hetero4 | 11(1,3,7) | 11 | 0 | 359 | 359 | 0 | 0.75 | 0.00 | 0.00 | 0.00 |
| hetero5 | 17(5,4,8) | 17 | 0 | 412 | 419.2 | 2.5 | 1.11 | 0.00 | 0.00 | 0.00 |
| hetero10 | 24(6,5,13) | 24 | 0 | 978 | 988.6 | 6.6 | 2.93 | 0.00 | 1.53 | 0.00 |
| hetero20 | 50(14,14,22) | 50 | 0 | 1535 | 1557.7 | 10.2 | 10.69 | 0.00 | 3.84 | 0.00 |
| hetero30 | 57(11,18,28) | 59 | 0.94 | 2785 | 2678.8 | 72.0 | 74.69 | 1.75 | -4.74 | 2.04 |
| hetero40 | 68(13,19,36) | 69.4 | 0.70 | 3129 | 3179.3 | 50.6 | 112.10 | 1.47 | -5.50 | 2.26 |
| hetero50 | 77(15,22,40) | 78.3 | 0.67 | 3607 | 3531.1 | 62.7 | 246.75 | 1.30 | 3.77 | 1.67 |
| hetero60 | 89(16,24,49) | 90.1 | 0.74 | 4293 | 4244.2 | 41.2 | 571.29 | 1.12 | 2.05 | 1.42 |
| hetero70 | 103(16,27,60) | 104 | 0.82 | 4844 | 4836.6 | 73.9 | 966.03 | -0.97 | -11.31 | -1.42 |
| hetero80 | 117(25,30,62) | 117.2 | 0.42 | 5141 | 5265.9 | 55.6 | 1081.67 | -1.71 | -6.48 | -2.25 |
| hetero90 | 117(25,29,63) | 117.9 | 0.74 | 5517 | 5557.8 | 93.8 | 1806.31 | -12.82 | -4.66 | -16.61 |
| hetero100 | 126(23,34,69) | 126.4 | 0.52 | 5958 | 5991.7 | 39.3 | 2034.31 | -15.87 | 0.99 | -18.88 |
Fig 2Objective difference between metaheuristic and CPLEX solutions for the heterogeneous fleet instances.
The school bus routing and scheduling instances RSRB and CSCB.
| Instance | #schools | #stops | #students | #trips1 | #trips2 |
|---|---|---|---|---|---|
| RSRB01 | 6 | 250 | 3409 | 60 | 55 |
| RSRB02 | 12 | 250 | 3670 | 76 | 62 |
| RSRB03 | 12 | 500 | 6794 | 131 | 112 |
| RSRB04 | 25 | 500 | 6805 | 158 | 120 |
| RSRB05 | 25 | 1000 | 13765 | 251 | 225 |
| RSRB06 | 50 | 1000 | 12201 | 293 | 215 |
| RSRB07 | 50 | 2000 | 26912 | 486 | 437 |
| RSRB08 | 100 | 2000 | 31939 | 658 | 542 |
| CSCB01 | 6 | 250 | 3907 | 69 | 64 |
| CSCB02 | 12 | 250 | 3204 | 76 | 57 |
| CSCB03 | 12 | 500 | 6813 | 152 | 112 |
| CSCB04 | 25 | 500 | 7541 | 193 | 128 |
| CSCB05 | 25 | 1000 | 16996 | 332 | 277 |
| CSCB06 | 50 | 1000 | 18232 | 410 | 309 |
| CSCB07 | 50 | 2000 | 27594 | 614 | 449 |
| CSCB08 | 100 | 2000 | 27945 | 745 | 484 |
Results for the RSRB benchmark instances.
| Instance | CPLEX | SA-Heuristic | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| N | D | Gap(%) | T(s) | Nbest | Ndev | Ngap | Dbest | Ddev | Dgap | T(s) | |
| RSRB01_2700 | 26 | 6914083 | opt. | 0.06 | 26 | 0.00 | 0.00 | 6914092.46 | 0.00 | 0.00 | 2.80 |
| RSRB02_2700 | 27 | 10028708 | opt. | 0.09 | 27 | 0.00 | 0.00 | 10120784.23 | 0.00 | 0.92 | 4.18 |
| RSRB03_2700 | 48 | 15761527 | opt. | 0.42 | 48 | 0.00 | 0.00 | 15761542.48 | 14616.9 | 0.00 | 19.86 |
| RSRB04_2700 | 58 | 16209789 | opt. | 0.49 | 58 | 0.00 | 0.00 | 16284162.52 | 0.00 | 0.46 | 25.28 |
| RSRB05_2700 | 94 | 26414196 | opt. | 1.44 | 94 | 0.00 | 0.00 | 26414264.91 | 23555.3 | 0.00 | 109.58 |
| RSRB06_2700 | 87 | 25484524 | opt. | 1.76 | 87 | 0.00 | 0.00 | 25572260.46 | 68555.4 | 0.34 | 253.93 |
| RSRB07_2700 | 149 | 42328760 | opt. | 9.92 | 149 | 0.00 | 0.00 | 42509078.51 | 29725.2 | 0.43 | 1014.68 |
| RSRB08_2700 | 136 | 46767310 | opt. | 1785.92 | 139 | 0.52 | 2.21 | 46560688.64 | 175338.4 | 0.44 | 1652.50 |
| RSRB01_5400 | 27 | 6304173 | opt. | 0.05 | 27 | 0.00 | 0.00 | 6304182.28 | 1361.2 | 0.00 | 2.79 |
| RSRB02_5400 | 23 | 8665826 | opt. | 0.08 | 23 | 0.00 | 0.00 | 8665846.47 | 0.00 | 0.00 | 2.67 |
| RSRB03_5400 | 46 | 12812623 | opt. | 0.2 | 46 | 0.00 | 0.00 | 12819179.52 | 12392.1 | 0.05 | 11.37 |
| RSRB04_5400 | 41 | 11084739 | opt. | 0.37 | 41 | 0.00 | 0.00 | 11084771.23 | 59225.6 | 0.00 | 13.63 |
| RSRB05_5400 | 80 | 22208728 | opt. | 1.22 | 80 | 0.00 | 0.00 | 22264731.97 | 0.00 | 0.25 | 54.66 |
| RSRB06_5400 | 72 | 19492477 | opt. | 1.11 | 72 | 0.00 | 0.00 | 19541829.61 | 60773.4 | 0.25 | 42.66 |
| RSRB07_5400 | 141 | 38837810 | opt. | 5.94 | 141 | 0.00 | 0.00 | 38916850.74 | 45393.8 | 0.20 | 543.31 |
| RSRB08_5400 | 139 | 42579350 | opt. | 312.00 | 140 | 0.67 | 0.72 | 42749715.12 | 141358.9 | 0.40 | 1305.45 |
| Average | 74.63 | 21993413.9 | - | 132.57 | 74.88 | 0.07 | 0.18 | 22030248.82 | 39518.5 | 0.18 | 316.21 |
Results for the CSCB benchmark instances.
| Instance | CPLEX | SA-Heuristic | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| N | D | Gap(%) | T(s) | Nbest | Ndev | Ngap | Dbest | Ddev | Dgap | T(s) | |
| CSCB01_2700 | 32 | 8238295 | opt. | 0.06 | 32 | 0.00 | 0.00 | 8238320.96 | 0.00 | 0.00 | 4.03 |
| CSCB02_2700 | 26 | 9047666 | opt. | 0.19 | 26 | 0.00 | 0.00 | 9049453.10 | 5413.7 | 0.02 | 4.09 |
| CSCB03_2700 | 58 | 15180749 | opt. | 0.62 | 58 | 0.00 | 0.00 | 15180775.18 | 0.00 | 0.00 | 23.81 |
| CSCB04_2700 | 62 | 20111639 | opt. | 0.58 | 62 | 0.00 | 0.00 | 20111678.69 | 14866.7 | 0.00 | 37.91 |
| CSCB05_2700 | 113 | 29009570 | opt. | 17.18 | 114 | 0.00 | 0.88 | 29373744.55 | 0.00 | 1.26 | 191.49 |
| CSCB06_2700 | 120 | 31034650 | opt. | 13.43 | 120 | 0.00 | 0.00 | 31153106.99 | 33607.9 | 0.38 | 432.20 |
| CSCB07_2700 | 173 | 44803980 | opt. | 41.09 | 173 | 0.00 | 0.00 | 45124978.25 | 175032.9 | 0.72 | 1413.69 |
| CSCB08_2700 | 149 | 51386250 | opt. | 1767.13 | 154 | 0.92 | 3.36 | 51352702.16 | 273384.7 | 0.07 | 3349.67 |
| CSCB01_5400 | 29 | 7429868 | opt. | 0.11 | 29 | 0.00 | 0.00 | 7429893.53 | 0.0 | 0.00 | 3.45 |
| CSCB02_5400 | 22 | 6934233 | opt. | 0.09 | 22 | 0.00 | 0.00 | 6934243.00 | 0.0 | 0.00 | 2.32 |
| CSCB03_5400 | 42 | 10125785 | opt. | 0.19 | 42 | 0.00 | 0.00 | 10125802.50 | 495.0 | 0.00 | 10.50 |
| CSCB04_5400 | 45 | 13752831 | opt. | 0.2 | 45 | 0.29 | 0.00 | 13752859.94 | 95146.0 | 0.00 | 17.55 |
| CSCB05_5400 | 99 | 23805471 | opt. | 9.19 | 100 | 0.00 | 1.01 | 24087785.53 | 0.00 | 1.19 | 98.58 |
| CSCB06_5400 | 104 | 23525340 | opt. | 3.46 | 104 | 0.00 | 0.00 | 23552967.39 | 23467.6 | 0.12 | 172.86 |
| CSCB07_5400 | 146 | 32561350 | opt. | 10.83 | 146 | 0.00 | 0.00 | 32620032.80 | 2473.6 | 0.18 | 445.88 |
| CSCB08_5400 | 130 | 37933090 | opt. | 46.97 | 130 | 0.63 | 0.00 | 38707240.90 | 162863.8 | 2.04 | 758.36 |
| Average | 84.38 | 22805047.9 | - | 119.46 | 84.81 | 0.12 | 0.33 | 22924724.09 | 49172.0 | 0.36 | 435.40 |
Comparison of our algorithm with existing algorithm.
| Instances | ZPark[ | ZSA | Gap(%) | Instances | ZPark[ | ZSA | Gap(%) |
|---|---|---|---|---|---|---|---|
| RSRB01_2700 | 35 | 26 | 34.62 | CSCB01_2700 | 39 | 32 | 17.95 |
| RSRB02_2700 | 32 | 27 | 18.52 | CSCB02_2700 | 33 | 26 | 21.21 |
| RSRB03_2700 | 66 | 48 | 37.50 | CSCB03_2700 | 66 | 58 | 12.12 |
| RSRB04_2700 | 68 | 58 | 17.24 | CSCB04_2700 | 72 | 62 | 13.89 |
| RSRB05_2700 | 124 | 94 | 31.91 | CSCB05_2700 | 135 | 114 | 15.56 |
| RSRB06_2700 | 103 | 87 | 18.39 | CSCB06_2700 | 138 | 120 | 13.04 |
| RSRB07_2700 | 185 | 149 | 24.16 | CSCB07_2700 | 201 | 173 | 13.93 |
| RSRB08_2700 | 178 | 139 | 28.06 | CSCB08_2700 | 183 | 154 | 15.85 |
| RSRB01_5400 | 31 | 27 | 14.81 | CSCB01_5400 | 35 | 29 | 17.14 |
| RSRB02_5400 | 30 | 23 | 30.43 | CSCB02_5400 | 27 | 22 | 18.52 |
| RSRB03_5400 | 61 | 46 | 32.61 | CSCB03_5400 | 52 | 42 | 19.23 |
| RSRB04_5400 | 56 | 41 | 36.59 | CSCB04_5400 | 57 | 45 | 21.05 |
| RSRB05_5400 | 106 | 80 | 32.50 | CSCB05_5400 | 115 | 100 | 13.04 |
| RSRB06_5400 | 82 | 72 | 13.89 | CSCB06_5400 | 123 | 104 | 15.45 |
| RSRB07_5400 | 159 | 141 | 12.77 | CSCB07_5400 | 164 | 146 | 10.98 |
| RSRB08_5400 | 158 | 140 | 12.86 | CSCB08_5400 | 156 | 130 | 16.67 |
| Average | 92.13 | 74.89 | 24.80 | Average | 99.75 | 84.81 | 15.98 |