/Voyage-Optimization

Daisi to generate optimal ship routes

Primary LanguageJupyter Notebook

Voyage-Optimization

Logo

When traveling on the surface of the Earth one cannot take a constant heading to travel the shortest route from point A to B.
Instead, the heading must be constantly readjusted so that the arc of the trajectory corresponds to the intersection between the globe and a plane that passes through the center of the Earth.
For ships the ocean currents are an important factor which can be harnessed to produce the optimal path.

How does this work?

  • This app generates a Graph with the (latitude, longitude) grid of ocean points around the globe as vertices.
  • Edges are the 8-point ocean neighbours with weights being the time taken by the ship to travel the length of the edge considering the Ocean Currents.
  • This app generates an optimal route for a ship by running Dijkstra's Shortest Path Algorithm on this graph with the Start and End points taken as inputs.