+44 (0)1451 820 181
skip to the main content area of this page
Route Planning

Route Planning


ISYS Route Planning can be used to find the shortest or quickest route between two or more waypoints.

It can also be used in dispatch systems to find the nearest vehicle(s) to a location. Most dispatch systems choose available vehicles based on zones and/or straight line distances. This can result in significant delays and poor service if the closest vehicle has to travel several miles further away before it can turn around on a motorway, or find a bridge to cross a river or railway. Using accurate route planning, to find the vehicle that can get to the location the quickest, removes these types of problems. This results in a faster response/service for customers, less wear and tear on vehicles and less unpaid or dead time for staff/drivers.


Route Planning Sample Map

Fully tunable with modifiable speed and preference settings for all road types (Motorway, Primary, National, Regional, Local, Minor, Track, Alley) sub types (Dual carriage way, single carriage way, Link/slip-roads, Roundabouts) and the degree of urbanisation. Can also be tuned to suit the speed vs quality of calculation required.

Typical applications include:

Dispatch systems for emergency services, service engineers & Private hire/taxi operators.


ISYS Know How

ISYS Route Planning uses the A* Algorithim, modified to search only major roads except when close to the start and target locations.

The A* algorithm combines the information that Dijkstra's algorithm uses (favoring vertices that are close to the starting point) and information that Best First Search (BFS) uses (favoring vertices that are close to the goal).

In the terminology used when talking about A*, g(n) represents the cost of the path from the starting point to any vertex n, h(n) represents the heuristic estimated cost from vertex n to the target point.

A* balances the two as it moves from the starting point to target. Each time through the main loop, it examines the vertex n that has the lowest f(n) = g(n) + h(n). The heuristic can be used to control A*'s behavior.

At one extreme, if h(n) is 0, then only g(n) plays a role, and A* turns into Dijkstra's algorithm, which is guaranteed to find a shortest path. If h(n) is always lower than (or equal to) the cost of moving from n to the goal, then A* is guaranteed to find a shortest path. The lower h(n) is, the more nodes A* expands, making it slower.

If h(n) is exactly equal to the cost of moving from n to the goal, then A* will only follow the best path and never expand anything else, making it very fast.

If h(n) is sometimes greater than the cost of moving from n to the goal, then A* is not guaranteed to find a shortest path, but it can run faster (less back-tracking).

At the other extreme, if h(n) is very high relative to g(n), then only h(n) plays a role, and A* turns into BFS.

So we can decide what we want to get out of A* and tune it accordingly.