Originally posted by hannwei:
Actually, the traveling times (x) for CW3 routes (JE <-> GP and GP <-> KR) are bounded most of the time. The former probably exceeds 75 minutes only under very exceptional circumstances that do not appear more than a few times a month. The latter, even with the usual congestion at Perling Interchange and the occasional jam along Jalan Skudai and Jalan Tun Abdul Razak, probably hardly exceeds 90 minutes. If Handal Indah just wants to care about the convenience of terminal users, it just needs to assume a worst case traveling time y, which can be x + 20 minutes, and ensures a connecting bus is ready for departure since z, which may be x - 20 minutes. The terminal departure time "0" has a global daily minimum (the start time of operation), and a fixed gradient (depature interval/number of departures, where depature interval is ( next "0" - current "0" ) = y + rest time). Just that these may require it to stay away from the " just-in-time " strategy that may not be very suitable for the current CW3 routes, and to deploy a few more buses.
A simple depth-first heuristic search on the solution space done last night found that Handal Indah can have fixed terminal departure times (at JE and KR), and 0 connecting delay (at GP), with 6 buses on each route. For simplicity, 666 is ignored. It is assumed to be identical to the GP<->KR CW3.
The conditions that can be satisfied are:
code:
Traveling time (time to travel from one station to the next) : 11
Biggest deviation of traveling time (maximum deviation accommodated) : 3
Rest time (rest time for driver and bus) : 1
Tolerance (wait time of the connecting bus for its latest arrival time and earliest arrival time of the "connected bus") : 5 (I think the value 1 also needs 6 buses)
To convert the values above to minutes, just multiply it by 60 and then devide by 10, or in short, multiply it directly by 6.
The values below are interpreted in this way: 50 means 0500 hour + 0x6 minutes, 58 means 0500 hour + 8x6 minutes, 133 means 1300 hour + 3x6 minutes.
This is the schedule of the 6 buses that service the JE<->GP route:
code:
bus global minimum departure time : 43
bus can depart at : 43
bus takes departure time : 43
bus is meant for connecting to origin departure time 50
this bus is available latest from 58
origin bus arrives earliest at 58
bus can depart at : 73
bus takes departure time : 73
bus is meant for connecting to origin departure time 80
this bus is available latest from 88
origin bus arrives earliest at 88
bus can depart at : 103
bus takes departure time : 103
bus is meant for connecting to origin departure time 110
this bus is available latest from 118
origin bus arrives earliest at 118
bus can depart at : 133
bus takes departure time : 133
bus is meant for connecting to origin departure time 140
this bus is available latest from 148
origin bus arrives earliest at 148
bus can depart at : 163
bus takes departure time : 163
bus is meant for connecting to origin departure time 170
this bus is available latest from 178
origin bus arrives earliest at 178
bus can depart at : 193
bus takes departure time : 193
bus is meant for connecting to origin departure time 200
this bus is available latest from 208
origin bus arrives earliest at 208
bus can depart at : 223
bus takes departure time : 223
bus can depart at : 253
bus can depart at : 283
bus can depart at : 313
bus can depart at : 343
bus global minimum departure time : 48
bus can depart at : 48
bus takes departure time : 48
bus is meant for connecting to origin departure time 55
this bus is available latest from 63
origin bus arrives earliest at 63
bus can depart at : 78
bus takes departure time : 78
bus is meant for connecting to origin departure time 85
this bus is available latest from 93
origin bus arrives earliest at 93
bus can depart at : 108
bus takes departure time : 108
bus is meant for connecting to origin departure time 115
this bus is available latest from 123
origin bus arrives earliest at 123
bus can depart at : 138
bus takes departure time : 138
bus is meant for connecting to origin departure time 145
this bus is available latest from 153
origin bus arrives earliest at 153
bus can depart at : 168
bus takes departure time : 168
bus is meant for connecting to origin departure time 175
this bus is available latest from 183
origin bus arrives earliest at 183
bus can depart at : 198
bus takes departure time : 198
bus is meant for connecting to origin departure time 205
this bus is available latest from 213
origin bus arrives earliest at 213
bus can depart at : 228
bus can depart at : 258
bus can depart at : 288
bus can depart at : 318
bus can depart at : 348
bus global minimum departure time : 53
bus can depart at : 53
bus takes departure time : 53
bus is meant for connecting to origin departure time 60
this bus is available latest from 68
origin bus arrives earliest at 68
bus can depart at : 83
bus takes departure time : 83
bus is meant for connecting to origin departure time 90
this bus is available latest from 98
origin bus arrives earliest at 98
bus can depart at : 113
bus takes departure time : 113
bus is meant for connecting to origin departure time 120
this bus is available latest from 128
origin bus arrives earliest at 128
bus can depart at : 143
bus takes departure time : 143
bus is meant for connecting to origin departure time 150
this bus is available latest from 158
origin bus arrives earliest at 158
bus can depart at : 173
bus takes departure time : 173
bus is meant for connecting to origin departure time 180
this bus is available latest from 188
origin bus arrives earliest at 188
bus can depart at : 203
bus takes departure time : 203
bus is meant for connecting to origin departure time 210
this bus is available latest from 218
origin bus arrives earliest at 218
bus can depart at : 233
bus can depart at : 263
bus can depart at : 293
bus can depart at : 323
bus can depart at : 353
bus global minimum departure time : 58
bus can depart at : 58
bus takes departure time : 58
bus is meant for connecting to origin departure time 65
this bus is available latest from 73
origin bus arrives earliest at 73
bus can depart at : 88
bus takes departure time : 88
bus is meant for connecting to origin departure time 95
this bus is available latest from 103
origin bus arrives earliest at 103
bus can depart at : 118
bus takes departure time : 118
bus is meant for connecting to origin departure time 125
this bus is available latest from 133
origin bus arrives earliest at 133
bus can depart at : 148
bus takes departure time : 148
bus is meant for connecting to origin departure time 155
this bus is available latest from 163
origin bus arrives earliest at 163
bus can depart at : 178
bus takes departure time : 178
bus is meant for connecting to origin departure time 185
this bus is available latest from 193
origin bus arrives earliest at 193
bus can depart at : 208
bus takes departure time : 208
bus is meant for connecting to origin departure time 215
this bus is available latest from 223
origin bus arrives earliest at 223
bus can depart at : 238
bus can depart at : 268
bus can depart at : 298
bus can depart at : 328
bus can depart at : 358
bus global minimum departure time : 63
bus can depart at : 63
bus takes departure time : 63
bus is meant for connecting to origin departure time 70
this bus is available latest from 78
origin bus arrives earliest at 78
bus can depart at : 93
bus takes departure time : 93
bus is meant for connecting to origin departure time 100
this bus is available latest from 108
origin bus arrives earliest at 108
bus can depart at : 123
bus takes departure time : 123
bus is meant for connecting to origin departure time 130
this bus is available latest from 138
origin bus arrives earliest at 138
bus can depart at : 153
bus takes departure time : 153
bus is meant for connecting to origin departure time 160
this bus is available latest from 168
origin bus arrives earliest at 168
bus can depart at : 183
bus takes departure time : 183
bus is meant for connecting to origin departure time 190
this bus is available latest from 198
origin bus arrives earliest at 198
bus can depart at : 213
bus takes departure time : 213
bus is meant for connecting to origin departure time 220
this bus is available latest from 228
origin bus arrives earliest at 228
bus can depart at : 243
bus can depart at : 273
bus can depart at : 303
bus can depart at : 333
bus can depart at : 363
bus global minimum departure time : 68
bus can depart at : 68
bus takes departure time : 68
bus is meant for connecting to origin departure time 75
this bus is available latest from 83
origin bus arrives earliest at 83
bus can depart at : 98
bus takes departure time : 98
bus is meant for connecting to origin departure time 105
this bus is available latest from 113
origin bus arrives earliest at 113
bus can depart at : 128
bus takes departure time : 128
bus is meant for connecting to origin departure time 135
this bus is available latest from 143
origin bus arrives earliest at 143
bus can depart at : 158
bus takes departure time : 158
bus is meant for connecting to origin departure time 165
this bus is available latest from 173
origin bus arrives earliest at 173
bus can depart at : 188
bus takes departure time : 188
bus is meant for connecting to origin departure time 195
this bus is available latest from 203
origin bus arrives earliest at 203
bus can depart at : 218
bus takes departure time : 218
bus can depart at : 248
bus can depart at : 278
bus can depart at : 308
bus can depart at : 338
bus can depart at : 368
This is a summary showing the terminal departure times at JE for each bus:
code:
bus global minimum departure time : 43
bus takes departure time : 43
bus takes departure time : 73
bus takes departure time : 103
bus takes departure time : 133
bus takes departure time : 163
bus takes departure time : 193
bus takes departure time : 223
bus global minimum departure time : 48
bus takes departure time : 48
bus takes departure time : 78
bus takes departure time : 108
bus takes departure time : 138
bus takes departure time : 168
bus takes departure time : 198
bus global minimum departure time : 53
bus takes departure time : 53
bus takes departure time : 83
bus takes departure time : 113
bus takes departure time : 143
bus takes departure time : 173
bus takes departure time : 203
bus global minimum departure time : 58
bus takes departure time : 58
bus takes departure time : 88
bus takes departure time : 118
bus takes departure time : 148
bus takes departure time : 178
bus takes departure time : 208
bus global minimum departure time : 63
bus takes departure time : 63
bus takes departure time : 93
bus takes departure time : 123
bus takes departure time : 153
bus takes departure time : 183
bus takes departure time : 213
bus global minimum departure time : 68
bus takes departure time : 68
bus takes departure time : 98
bus takes departure time : 128
bus takes departure time : 158
bus takes departure time : 188
bus takes departure time : 218
These days the buses do not depart from JE that early. To match such a condition, we just need to remove the entries for the overly-early journeys.
And this is the schedule of the 6 buses that service the GP<->KR route:
code:
bus global minimum departure time : 50
bus can depart at : 50
bus takes departure time : 50
bus is meant for connecting to origin departure time 58
this bus is available latest from 65
origin bus arrives earliest at 66
bus can depart at : 80
bus takes departure time : 80
bus is meant for connecting to origin departure time 88
this bus is available latest from 95
origin bus arrives earliest at 96
bus can depart at : 110
bus takes departure time : 110
bus is meant for connecting to origin departure time 118
this bus is available latest from 125
origin bus arrives earliest at 126
bus can depart at : 140
bus takes departure time : 140
bus is meant for connecting to origin departure time 148
this bus is available latest from 155
origin bus arrives earliest at 156
bus can depart at : 170
bus takes departure time : 170
bus is meant for connecting to origin departure time 178
this bus is available latest from 185
origin bus arrives earliest at 186
bus can depart at : 200
bus takes departure time : 200
bus is meant for connecting to origin departure time 208
this bus is available latest from 215
origin bus arrives earliest at 216
bus can depart at : 230
bus can depart at : 260
bus can depart at : 290
bus can depart at : 320
bus can depart at : 350
bus global minimum departure time : 55
bus can depart at : 55
bus takes departure time : 55
bus is meant for connecting to origin departure time 63
this bus is available latest from 70
origin bus arrives earliest at 71
bus can depart at : 85
bus takes departure time : 85
bus is meant for connecting to origin departure time 93
this bus is available latest from 100
origin bus arrives earliest at 101
bus can depart at : 115
bus takes departure time : 115
bus is meant for connecting to origin departure time 123
this bus is available latest from 130
origin bus arrives earliest at 131
bus can depart at : 145
bus takes departure time : 145
bus is meant for connecting to origin departure time 153
this bus is available latest from 160
origin bus arrives earliest at 161
bus can depart at : 175
bus takes departure time : 175
bus is meant for connecting to origin departure time 183
this bus is available latest from 190
origin bus arrives earliest at 191
bus can depart at : 205
bus takes departure time : 205
bus is meant for connecting to origin departure time 213
this bus is available latest from 220
origin bus arrives earliest at 221
bus can depart at : 235
bus can depart at : 265
bus can depart at : 295
bus can depart at : 325
bus can depart at : 355
bus global minimum departure time : 60
bus can depart at : 60
bus takes departure time : 60
bus is meant for connecting to origin departure time 68
this bus is available latest from 75
origin bus arrives earliest at 76
bus can depart at : 90
bus takes departure time : 90
bus is meant for connecting to origin departure time 98
this bus is available latest from 105
origin bus arrives earliest at 106
bus can depart at : 120
bus takes departure time : 120
bus is meant for connecting to origin departure time 128
this bus is available latest from 135
origin bus arrives earliest at 136
bus can depart at : 150
bus takes departure time : 150
bus is meant for connecting to origin departure time 158
this bus is available latest from 165
origin bus arrives earliest at 166
bus can depart at : 180
bus takes departure time : 180
bus is meant for connecting to origin departure time 188
this bus is available latest from 195
origin bus arrives earliest at 196
bus can depart at : 210
bus takes departure time : 210
bus is meant for connecting to origin departure time 218
this bus is available latest from 225
origin bus arrives earliest at 226
bus can depart at : 240
bus can depart at : 270
bus can depart at : 300
bus can depart at : 330
bus can depart at : 360
bus global minimum departure time : 65
bus can depart at : 65
bus takes departure time : 65
bus is meant for connecting to origin departure time 73
this bus is available latest from 80
origin bus arrives earliest at 81
bus can depart at : 95
bus takes departure time : 95
bus is meant for connecting to origin departure time 103
this bus is available latest from 110
origin bus arrives earliest at 111
bus can depart at : 125
bus takes departure time : 125
bus is meant for connecting to origin departure time 133
this bus is available latest from 140
origin bus arrives earliest at 141
bus can depart at : 155
bus takes departure time : 155
bus is meant for connecting to origin departure time 163
this bus is available latest from 170
origin bus arrives earliest at 171
bus can depart at : 185
bus takes departure time : 185
bus is meant for connecting to origin departure time 193
this bus is available latest from 200
origin bus arrives earliest at 201
bus can depart at : 215
bus takes departure time : 215
bus is meant for connecting to origin departure time 223
this bus is available latest from 230
origin bus arrives earliest at 231
bus can depart at : 245
bus can depart at : 275
bus can depart at : 305
bus can depart at : 335
bus can depart at : 365
bus global minimum departure time : 70
bus can depart at : 70
bus takes departure time : 70
bus is meant for connecting to origin departure time 78
this bus is available latest from 85
origin bus arrives earliest at 86
bus can depart at : 100
bus takes departure time : 100
bus is meant for connecting to origin departure time 108
this bus is available latest from 115
origin bus arrives earliest at 116
bus can depart at : 130
bus takes departure time : 130
bus is meant for connecting to origin departure time 138
this bus is available latest from 145
origin bus arrives earliest at 146
bus can depart at : 160
bus takes departure time : 160
bus is meant for connecting to origin departure time 168
this bus is available latest from 175
origin bus arrives earliest at 176
bus can depart at : 190
bus takes departure time : 190
bus is meant for connecting to origin departure time 198
this bus is available latest from 205
origin bus arrives earliest at 206
bus can depart at : 220
bus takes departure time : 220
bus can depart at : 250
bus can depart at : 280
bus can depart at : 310
bus can depart at : 340
bus can depart at : 370
bus global minimum departure time : 75
bus can depart at : 75
bus takes departure time : 75
bus is meant for connecting to origin departure time 83
this bus is available latest from 90
origin bus arrives earliest at 91
bus can depart at : 105
bus takes departure time : 105
bus is meant for connecting to origin departure time 113
this bus is available latest from 120
origin bus arrives earliest at 121
bus can depart at : 135
bus takes departure time : 135
bus is meant for connecting to origin departure time 143
this bus is available latest from 150
origin bus arrives earliest at 151
bus can depart at : 165
bus takes departure time : 165
bus is meant for connecting to origin departure time 173
this bus is available latest from 180
origin bus arrives earliest at 181
bus can depart at : 195
bus takes departure time : 195
bus is meant for connecting to origin departure time 203
this bus is available latest from 210
origin bus arrives earliest at 211
bus can depart at : 225
bus can depart at : 255
bus can depart at : 285
bus can depart at : 315
bus can depart at : 345
bus can depart at : 375
untaken origin departure time : 43
untaken origin departure time : 48
untaken origin departure time : 53
And this is a summary showing the terminal departure times at KR for each bus:
code:
bus global minimum departure time : 50
bus takes departure time : 50
bus takes departure time : 80
bus takes departure time : 110
bus takes departure time : 140
bus takes departure time : 170
bus takes departure time : 200
bus global minimum departure time : 55
bus takes departure time : 55
bus takes departure time : 85
bus takes departure time : 115
bus takes departure time : 145
bus takes departure time : 175
bus takes departure time : 205
bus global minimum departure time : 60
bus takes departure time : 60
bus takes departure time : 90
bus takes departure time : 120
bus takes departure time : 150
bus takes departure time : 180
bus takes departure time : 210
bus global minimum departure time : 65
bus takes departure time : 65
bus takes departure time : 95
bus takes departure time : 125
bus takes departure time : 155
bus takes departure time : 185
bus takes departure time : 215
bus global minimum departure time : 70
bus takes departure time : 70
bus takes departure time : 100
bus takes departure time : 130
bus takes departure time : 160
bus takes departure time : 190
bus takes departure time : 220
bus global minimum departure time : 75
bus takes departure time : 75
bus takes departure time : 105
bus takes departure time : 135
bus takes departure time : 165
bus takes departure time : 195
This is the first time I do the analysis. Hopefully there are not too many serious errors in the algorithm and implementation.