In this blogpost, we summarize what we have done up to now as the third progress report of ‘Algorithm models for maritime routes’ project. The following consists of 2 main parts including work done in front end and back end parts as before.
In the backend part, we firstly began to understand how the adjacency matrix for the graph is constructed. But also we are thinking to use adjacency list presentation of graph instead of matrix. We can’t see which method is the best since there exists a tradeoff. The tradeoff consists of the following: when we use matrices for representation memory usage is increased, but we have fast operations. In the second case, when we use adjacency list, memory usage is decreased dramatically, but on the other hand we get much slower operations since we have to traverse the list in order to find the data we are looking for. We are testing both of these cases by running them and trying to find which works best in our case.
Second important point is to use additional factors such as waves in the sea, winds and etc. in our system. The old implementation gives positive constants for the wind such as if we go against the wind, it increases the cost and vice verse. The same idea goes for all the other factors. Now is a good point in our work to search and decide how to choose this cost function and the values corresponding to different cases of wind, wave power, etc. and maybe add or remove some cost factors if it’s needed.
Third important and time-consuming part of the project is the path finding model. It is time-consuming because the core parts of path finding in our code and the previous version are totally different. We are now actually working on this part.
We decided to make some changes in our final project goals, and this will affect mostly the frontend user interface. We planned to improve the performance of the existing program from last year with improvements and some design choices. That would have allowed us to create a website where other researchers could see our predictions for their source and destinations and add some additional constraints depending on their setting and get their results quickly. After working on the problem, we concluded that this was still currently unrealistic, because the computations still take too long to justify a usable website. For this reason, we decided to choose ports that were frequently visited by Venetian ships and run our algorithm to create a pre-processed list of paths that we can than display to the user’s of the website. Although we lose the interactive data-editing feature, we think that the resulting product of our work will be accessible understandable by more users.
After finishing backend and frontend issues mentioned above separately we are obviously going to spend some time for integrating these two modules.Overall,even though we have some implementations and promising results, we still have not finished all work to be done and we believe we will be able to finish the project with good results before the final report date.