Talk to us

Route planning on the fewest vehicles

Put one route's stops in the best order, or re-plan all the pickup or drop routes of a leg. The plan uses the fewest vehicles, within their seats and a longest ride time. You see the suggestion first and change nothing until you press Apply.
PLANSScale only

Why it matters

Routes drawn years ago zig-zag, some children ride for 90 minutes, and re-drawing them each term takes a week. Put one route's stops in the best order, or re-plan every pickup or drop route at once with the fewest vehicles, within their seats and a longest ride time. You see the plan first and nothing changes until you press Apply.

The problem it solves

  • Routes were drawn years ago and grew stop by stop, so buses zig-zag and some children ride for 90 minutes.
  • Two half-empty buses cover the same area while another is full every day.
  • When children join or leave each term, re-drawing routes by hand takes the transport in-charge a week.
  • Planned stop times are guesses, so parents wait at the stop or the bus waits for them.

How it works

  1. For one route, open it and press Optimise Stop Order. For several, open Transport > Configuration > Vehicles and Routes > Plan Routes and choose Re-plan these routes on the fewest vehicles.
  2. Choose the leg (Pickup to the campus or Drop from the campus) and the routes. Then choose the campus stop and the time there, for example arrival at 7:45. For a re-plan, also choose the vehicles available and the longest ride in minutes (90 to start with).
  3. Press Suggest. The planner counts the riders at each stop of those routes and works out travel times between every pair of stops.
  4. It then searches for the plan with the fewest vehicles first and the least total driving time second. No vehicle goes over its seats and no ride over the longest ride.
  5. You see one line per vehicle: the stops in order, riders, ride minutes and kilometres. A line above says where the times came from and how many legs used real runs.
  6. Change a value and press Suggest Again, or press Apply. Apply rewrites the stops and their planned times, puts each route on its vehicle, moves riders with their stop, and archives routes left empty.

Everything it does

Two ways to plan

  • Best stop order for this route: one route, one vehicle, the stops put in the quickest order
  • Re-plan these routes on the fewest vehicles: the stops of several routes of one leg shared out again over the vehicles you choose
  • Pickup routes end at the campus and start wherever suits; drop routes start at the campus and end wherever suits
  • Shuttle routes are not planned; only pickup and drop legs

What the solver does

  • A vehicle routing solver (Google OR-Tools, open source) on your SmartMy server; no stop or rider data is sent to an outside service
  • Each vehicle used carries a large fixed cost, so one vehicle fewer always beats any saving in minutes
  • Among plans with the same number of vehicles, the least total driving time wins
  • Seats: each vehicle's seat count is a hard limit; a vehicle with no seats entered is treated as having no limit
  • Longest ride: no route may take longer than this, one minute of stopping time at each stop included
  • It builds a first plan by taking the nearest next stop, then improves it with guided local search for 5 seconds
  • If nothing fits, it says so: add vehicles, allow longer rides or check the seats

Where the times come from

  • Real runs first: some legs between two stops use the middle (median) of their real times. That is a leg driven on at least three of the last 60 completed runs of those routes
  • Then road times from a road-routing server (OSRM, on OpenStreetMap roads) when your Entity has one set
  • Otherwise the straight line between stops times 1.3, at the Entity's average road speed (25 km/h to start with)
  • Road times are kept for 180 days, so planning the same stops again does not ask the road server again
  • No live traffic: times do not change with the hour of the day

Planned times

  • Pickup: worked back from the arrival time at the campus
  • Drop: worked forward from the departure time from the campus
  • Each stop adds one minute of stopping time
  • Apply writes the times on the route's stops, and the next daily runs use them

What Apply changes

  • The order of the stops and their planned times
  • In a re-plan: which vehicle each route uses, and a new route copied from the first one if more routes are needed
  • In a re-plan: riders moved to the route that now has their stop
  • In a re-plan: routes left without stops archived, not deleted
  • Apply asks you to confirm; Close leaves everything as it was

Who uses it

Transport officeRuns the planner before a term or when riders change, reviews the suggestion and applies it.
Transport administratorSets the average road speed and the road-routing server address on the Entity.
Principal or admin headSees the vehicles needed and the longest ride before a re-plan is applied.

Where you use it

  • Web: Transport > Configuration > Vehicles and Routes > Plan Routes, and Optimise Stop Order on a route
  • Not in the phone apps: planning is done in the back office
  • Not on a map: the suggestion is a list of stops in order, not a drawn route

What you control

Settings

  • Longest Ride (minutes): 90 to start with, chosen each time you plan
  • At the Campus: the arrival (pickup) or departure (drop) time, 8:00 to start with
  • Vehicles Available and their seats
  • Average Road Speed: 25 km/h, on the Entity's Transport tab
  • Road Routing (OSRM) URL: empty to start with (straight line times 1.3)

Notifications

  • No notice is sent when routes are re-planned. Riders and parents see their new stop times on the next day's runs.

Questions

Does it use live traffic?

No. Times come from your own real runs where a leg was driven at least three times. Otherwise they come from a road map or a straight-line estimate. The same time is used at any hour.

Will it change our routes without asking?

No. Suggest only shows a plan. Nothing changes until you press Apply and confirm. Routes left empty are archived, so you can bring them back.

What does learned from real runs mean?

Each run records when the vehicle reached each stop. Take two stops driven one after the other on at least three of the last 60 completed runs. The planner uses the median of those real times instead of the map.

Do we need GPS on the buses?

No. The planner works from stop positions alone. Real-run times need the time each stop was reached: from tracking (Growth and up) or from the crew marking arrival in the Crew app.

Is the road-map timing available?

The road-routing server is built for but not yet running on our side. Until it is, times come from your real runs and the straight-line estimate, and the suggestion says which was used.

Can it plan for a child's own stop at their gate?

It plans the stops you have. It does not create, move or merge stops; you set up stops on the map first.

Related features

See your own routes on the map.

Send us your stops and routes and we will show you a demo with them.