# Introduction of the project

Introduction of the projectThis application provides vehicle tracking for multiple users and along with that
optimal routing techniques for all available vehicles nearby to the user.
Based on the routing information, approximate distance and time taken to reach to the
user will also be displayed.The user will also be able to track different possible
vehicles used for transportation and routes he can take so as to reach his destination
efficiently.
Optimal routes is chosen based on Routing algorithms and based on the current
latitude and longitudes of the vehicle.
This project consist of two applicationsUser AppIt shows current location of the user on the Google Map based on latitude
and longitude of the user.
This project demonstrates to the user, all the available buses nearby to the
user, it also shows tracking of all the vehicles whenever they move, they
are also being shown and there routes are being shown and demonstrated.
Optimal route and optimal bus is chosen based on the the distance and
time of available buses.
The best Possible route being chosen is shown and is used by the user,
user then track that vehicle to reach the final destination.
The distance between various routes is demonstrated in the user
application.
Driver AppThis is the app that a Driver have, whenever a driver opens that app, a
new bus marker is shown in the app, when the driver closes the app, the
bus marker removes from the app.
Apart from that the tracking is shown to the user I.e. whenever the bus is
moving,its path is tracked and shown to the user.
We all know that if somehow we can track the transport in which we wish
to travel, it will save a lot of our time and prevent unnecessary hassle
To use this application, the user has to first create an account in the
application.
The user will also be able to track different possible vehicles used for
transportation and routes he can take so as to reach his destination
efficiently
Computing best possible routes in road networks from a given source to a
given target location is an everyday problem. Many people frequently
deal with this question when planning trips with their cars. There are also
many applications like logistic planning or trafﬁc simulation that need to
solve a huge number of such route queries.
Due to reasons such as High Computing powers
 Slow query times
Routing:
Routing refers to Selecting a path that a vehicle in large road networks has to follow
in order to reach the destination.
Optimal Routing:
Optimal Routing refers to finding best possible route (out of number of available
routes) in order to reach the destination.
Parameters which we assumed for optimality are:
Time

Distance
The Shortest Path Problem
Computing best possible routes in road networks from a given source to a given
target location is an everyday problem. Many people frequently deal with this
question when planning trips with their cars. There are also many applications like
logistic planning or trafﬁc simulation that need to solve a huge number of such route
queries.
Speedup Techniques:
1. Dijkstra’s Algorithm:-It computes the shortest path from source to destination
easily.
Search space of Dijkstra Algorithm
Requirements that speedup techniques should fulfil are:

The query time should be as fast as possible

The result should be accurate:I.e. a provable optimal path is computed.

The method should be scale invariant, I.e. it should be optimized not only for
optimal paths,In other words,Running time of computation is high.

If approach is uses some pre processing, then it should be sufficiently fast so that
we can deal with very large road networks.

Precomputed auxilary data should occupy only a moderate amount of space.

Updating some edge weights(e.g. due to traffic jams) or replacing the entire cost
function.
Modified Dijkstra’s Algorithm:Bidirectional search:
Executes Dijkstra’s algorithm simultaneously forwards from the source ‘s’ and
backwards from the target ‘t’.Once some node has been has been visited from both
directions,the shortest path can be derived from the information already gathered.
Search space of the bidirectional version of the Dijkstra’s algorithm
Complete Distance Problem:
An extreme case would be precompute all shortest paths, this allows constant
time queries,but is prohibitive for large graphs due to space and time
constraints.Still, it turns out that for some hierarchical approches, this simple
technique can be very useful when applied to the highest level.
Highway hierarchies exploit the inherent hierarchical structure of road networks
and classify roads by importance. A point-to-point query is then performed in a
bidirectional fashion—forwards from the source and backwards from the target—
disregarding more and more less important streets with increasing distance from
source or target.
Highway-node routing is a related bidirectional and hierarchical approach. Its
conceptual simplicity and fast preprocessing allows the implementation of update
routines that are able to react efﬁciently to unexpected events like trafﬁc jams.
Transit-node routing provides extremely fast query times by reducing most requests
to a few table lookups, exploiting the observation that when driving to somewhere ‘far
away’, the current location is always left via one of only a few ‘important’ trafﬁc
junctions.
Our generic many-to-many algorithm can be instantiated based on certain
bidirectional route planning techniques, for example, highway hierarchies or
highway-node routing. It computes a complete |S|&times;|T| distance table, basically
performing only |S| forward plus |T|backward queries instead
of|S|times|T|bidirectional queries.
Construction of a highway hierarchy of a road network with neighbourhood size, H=70.
Construction:
1. Perform a local search
2. Switch to a highway network and perform a local search in the highway network.
A diagram of a given Highway
Searching techniques and Heuristics:
Geometric A∗ Search.
A technique from the ﬁeld of Artiﬁcial Intelligence, is a goal-directed approach, i.e., it
adds a sense of direction to the search process. For each vertex, a lower bound on the
distance to the target is required. In each step of the search process, the node v is
selected that minimises the tentative distance from the source s plus the lower bound
on the distance to the target t. This approach can be combined with bidirectional
search. The performance of the A∗ search depends on a good choice of the lower
bounds. If the geographic coordinates of the nodes are given and we are interested in
the shortest (and not in the fastest) path, the Euclidean distance from v to t can be
used as lower bound.
Heuristic A∗ Search:
handle ever more detailed descriptions of road networks on rather low-powered
processors. Vendors resolved to heuristics still used today that do not give any
performance guarantees. One heuristic is A∗ search with estimates on the distance to
the target rather than lower bounds.
Landmark-Based A∗ Search :
ALT algorithm is presented that is based on A∗ search, Landmarks, and the Triangle
inequality. After selecting a small number of landmarks, for all nodes v, the distances
d(v,L) and d(L,v) to and from each landmark L are precomputed. For nodes v and t,
the triangle inequality yields for each landmark Ltwo lower bounds d(L,t) −d(L,v) ≤
d(v,t) and d(v,L) −d(t,L) ≤ d(v,t).
Precomputed Cluster Distances.
The Precomputed Cluster Distances (PCD) technique, also uses precomputed
distances for goal-directed search, yielding speedups comparable to ALT, but using
less space. The network is partitioned into clusters and the shortest connection
between any pair of clusters is precomputed. Then, during a query, upper and lower
bounds can be derived that can be used to prune the search.