1. Introduction
Since humankind has been able to sail, safety at sea has been a major concern and is a research topic on which a great number of studies can be found. The health and safety standards for fishing vessels and fishing communities is one of the topics on which more research can be found [
1,
2,
3,
4], with many of those focusing on avoiding collisions between vessels [
5,
6,
7]. There are also a number of papers focusing on autonomous ships [
7,
8], information systems and navigation aids, collision response systems, etc. The scope for all these studies is to increase the safety for workers at sea.
In Spain, the Instituto Social de la Marina (ISM) is responsible for medical assistance and emergency response at sea. This institute takes care of the health and wellbeing of seamen during their time on board, taking into account the harsh marine environment, the crew’s extended isolation periods, and the rough nature of their living conditions, whilst paying special attention to fishing fleets given the high risk of accidents during fishing seasons [
9]. One of the services put in place to achieve this goal by the ISM, and aid seafarers, has been via the support of the “Juan de la Cosa” and “Esperanza del Mar” assistance vessels. The first vessel covers the north Spanish coast and the Atlantic, and the second sails the Canary Islands and the African coasts. Both vessels sail annually to the different fishing grounds where the Spanish fleet undertakes it labour, with the aim of serving a fleet that accounts for over 900 vessels and an estimated 10,000 crew members on board.
A key aspect for optimising the performance of these assistance vessels is the precise management of their navigation, as they are duty-bound to deal with aid requests from anywhere within these fishing grounds and beyond these boundaries. Whilst dealing with these requests, the distances between themselves and the ships requiring assistance can be vast and require days of sailing on some occasions. Therefore, the correct positioning of the vessel will be of utmost importance when undertaking its role, minimising the consequential chance of material loss and personal injury, whilst at the same time resulting in an optimal management of the fuel usage, thus contributing to the reduction of emissions and economic savings [
10,
11].
One of the most significant problems faced by the masters of these ships is establishing where they should be located at sea, in order to provide the best service at any given time. The aim is to be located to provide this service under similar conditions to any fishing vessel that may need assistance (“standby” position). In reality, this problem proves difficult due to the dispersion of fishing vessels, as being separated from each other by long distances results in these assistance vessels having to sail without a fixed course and having to position themselves without any established criteria. Besides this, due to the constant change in course of the ships that have to be assisted, their location has to be dynamic and regularly recalculated for their positioning to be updated and tracked accordingly.
This issue spurred the idea to design a system that, by means of one or more algorithms, is capable of suggesting the best possible location and coordinates for assistance vessels at sea. The algorithm takes several data into account, such as the position of the fleets of ships they grant assistance to, number of crew members, years of vessel service, state of the sea, type of fishing gear, etc. As far as we know, there is not a system capable of using objective data from a specific area and from the vessels that are fishing in it that recommends one or more positions to place assistance vessels. This software will help the captain of the assistance ship make decisions about where to locate the assistance vessel in order to provide their help in the shortest time span.
Obtaining the position of the fishing vessels at all times is achievable today on account of the information provided by the Automatic Identification System for Vessels (AIS) [
12,
13,
14] and, in the case of Spanish fishing vessels, by the blue box of these vessels which is constantly transmitting the position to the Fisheries Monitoring Centre in Madrid (Centro de Seguimiento de Pesca (CSP)). It is also possible to obtain the positioning of these ships by satellite services [
15,
16,
17]. At the European level, Council Regulation (EEC) 2847/1993 of 12 October 1993 established a control system applicable to the Common Fisheries Policy (CFP) that established a system for monitoring fishing vessels by satellite, with the aim of improving the management of fishing effort and the accuracy of data provided. In 2009, the article 2009/17/EC of the European Parliament (Article 6a) was published, making the use of automatic identification systems (Class A AIS) compulsory for fishing vessels larger than 15 m length and registered in an EU Member State, operating in inland waters or territorial sea or unloading their catch at a European port.
In order to develop the algorithms for the positioning of assistance vessels and to be able to check the outcome, research has been carried out by studying and monitoring the positioning of the hospital vessel Juan de la Cosa and fishing fleets throughout two bonito fishing seasons. The data for the positioning of these ships have been obtained from the AIS communications of the vessels ministering in the fishing areas and have been completed with the specifications for each fishing boat detailing their size, age, fishing gear, number of crew, etc.
The structure of the rest of the article is as follows: the general structure of the positioning system is presented in
Section 2.
Section 3 presents the algorithms used by the system to calculate the positions of the assistance vessels.
Section 4 describes the simulations carried out with the software developed and the data obtained. The results obtained are presented in
Section 5, analysed in
Section 6, and concluded in
Section 7.
2. Structure of the Positioning System
To generate the calculation for the positioning of one or more assistance vessels based on the data collected from a fleet of ships that require assistance, a system is suggested based on three fundamental modules: the collection of input data, the calculation of the position of the medical support assistance vessel, and the correction of the initial position obtained—if necessary.
2.1. Input Data Collection Module
A control centre will be responsible for carrying out the calculations, regularly updating the data, and creating a log. The frequency of updates for the input data, and thus the position of the ships, will depend on the stability of the environment, calculation capacity, etc. Due to the diverse characteristics of the environment in which the positioning algorithms will be put in place, the speed and course of the ships will be fundamental in the frequency of the updates as the remaining data will undergo slower modifications.
The position of each vessel to be assisted is indispensable information for the development and proper functioning of the positioning algorithms. This information is crucial for the running of these algorithms, and as mentioned in the Introduction, access to this data is not an issue as it is conveniently logged by the control centres, as the vessels are under the obligation to update their location regularly.
Besides the positioning of the vessels to be assisted, it is possible to include as many secondary input data within the algorithm as deemed necessary. The following data are suggested for the input data and can be applied in most situations:
Number of crew: a determining factor to take into account when working under the assumption that a vessel with a larger crew could need a greater amount of medical assistance.
Fishing gear used on fishing boats: depending on the type of gear used when fishing, the type of accident and their gravity will vary greatly. This information will also need to be considered to determine the correct location in standby of the assisting vessels.
Sea conditions and meteorological data: as the algorithms have to work for large geographical areas, sea and weather conditions have to be taken into account as they may be different between zones. This influences and increases the risk of the use of fishing gear onboard and the time taken by the assistance vessels to travel the distance between the “standby” position and the location of the vessel requiring assistance.
The main objective for the algorithms is to minimise the response time during the request of assistance and although this timing is initially set based on the distance to be travelled, the system must receive as input data all key factors that increase or decrease the probability that a ship should require assistance; taking into account the possible modifications within the travel time between the hospital ship and the fishing vessels and thus updating the positioning algorithms module accordingly.
Finally, each of the parameters recorded within the algorithms will be classified by importance and can be modified according to the different scenarios, updating the input data for the positioning of the hospital vessel under the required circumstances.
2.2. Position Calculation Module
This module registers as input the data obtained within the first module, in conjunction with a series of additional parameters needed for the calculation:
Geographical boundaries for the area to be assisted.
Whether or not there are areas in which ships cannot sail due to limitations indicated in the previous parameter (islands, off-limit areas where sailing is not permitted, etc.).
Number of assistance vessels watching over the area. Due to certain limitations within the system proposed, this will only be able to be carried out when all assistance vessels are able to sail freely within the designated area.
Based on the factors described above, the system will choose one of the following algorithms to calculating this location:
On account of the structure of this system, more algorithms can be included as the need arises and added to the simulator developed to test them out in advance.
2.3. Position Correction Module
The previous module calculates one or more positions without considering that, on occasion, the location selected for assistance may not be able to cater for the placement of an assistance vessel. For example, the position returned by the algorithm may be too close to one of the ships that needs to be assisted or it could be located in a non-accessible area. This module will only be put in place in the event that the system detects that the initial proposed position for the medical vessel is not appropriate.
To update and correct the initial position, this module outlines a series of alternative positions with the best possible outcome. To calculate the different positions, a concentric circle will be drawn up for each location that is considered incorrect and “n” evenly distributed positions of the circle will be selected. The radius of the circle and the number of parts into which the circle is divided will be input as parameters to the module. In the case that there are no viable options for the position of the vessels, the radius of the circle will be increased (the radius increment accounts for the last parameter of the module) and this process will be repeated until at least one valid position is obtained.
Figure 1 shows an example where the positioning algorithm returns an invalid position for a healthcare vessel. This first position is illustrated as P
0 and the invalid zone for positioning appears shaded in grey. With the centre being in P
0, a circumference of radius r
1 is plotted and 8 equidistant points are jotted with P
ij. i is the radius and j is the position finder within the radius i. When no valid position is found, a new radius r
2 = r
1 + ∆r and another 8 points P
2j are created. Within this second radius, two possible valid positions are obtained.
If more than one viable position is given, one will need to assess which is deemed the best option. To deem this, the average distance for each vessel’s location will have to be calculated and the position with the shortest travel time will be selected.
3. Algorithms for the Calculation of the Position of Aid Assistance
Even though there are many algorithms that enable the calculation of equidistant positions between a number of points, three have been chosen due to their simplicity and as they fulfil the objective at hand.
Nevertheless, the system suggested allows for the use of any algorithm, by simply modifying the concept for the distance considering the secondary input data, as discussed above.
For the chosen algorithms, a distance function between two geographical locations—
and
—based on the modified haversine distance has been defined, which is used to take into account additional secondary input data:
where
is the position of origin and
is the destination position,
is assigned to the secondary
input data of the destination position
to be taken into account to calculate the distance (number of crew, sea conditions, etc.), and
is the secondary
value for the destination position
. Different weights give more or less importance to each secondary input datapoint.
The system is designed to be able to receive k secondary input variables. Each secondary value must be a numerical value that assigns an increase in distance based on the different values that secondary characteristics can take. The more likely an accident is to take place based on the information gathered, the greater the value of aux should be. These values must be suggested by experts in fishing and in the risks that it entails. Some possible auxiliary values have been described in
Section 2.1. The weight is used to assign the scale of importance to each of the secondary data, allowing greater flexibility in system configuration.
The aim of the second term of Equation (1) is to calculate the distance for each vessel according to the parameters defined above. Increasing the distance using these input variables, the algorithms’ calculation will return a nearer position for the medical assistance vessel than when only considering the location. For example, in the case of two vessels that are located within the same distance but one of the vessels has more workers on board, the system will return a position closer to this vessel considering that, due to the probability mentioned above, this one will most likely require assistance.
3.1. Centre of Mass
In this algorithm, the group of vessels that require assistance is considered to be a discrete mass system. The calculation of the centre of mass allows us to determine the equidistant position to all points (ships) of this discrete system:
The sum of the auxiliary values associated with each vessel acts as the centre of mass for each element of the system; where is the importance assigned to the -th assistance variable and to the -th value variable for the -th vessel.
Since this algorithm does not use the haversine distance and will not take into account the Earth’s curvature, it is preferable to use it in smaller geographical areas, as it will work under the assumption that the travel distance for the assistance vessel is flat.
3.2. Centre of Mass with A* Algorithm
The algorithm stated above does not consider non-accessible areas within the boundaries it is assigned to operate in. With the aim of avoiding the non-accessible areas when these obstacles arise en route, modifications in the calculations will be necessary to consider changes and additional distances within the otherwise straight trajectory given for the original path.
A lot of pathfinding algorithms can be found in the bibliography, that will enable the algorithm to work in obstacle-filled areas. The A* algorithm is chosen from the available algorithms, as it comes up with an optimal path between two points and is fast. Although this algorithm only works in static environments, we can assume that the calculations will be applicable due to the following:
The central control centre collects location and assistance data from all vessels at a certain point in time and, working on that static image of the area, the algorithm will calculate accordingly.
The vessel’s working area is large compared to the speed at which it can travel at, which makes the system come as close to being static as possible.
Lastly, it should be noted that the algorithms displayed in the bibliography have been designed for dynamic environments, thus situations that constantly change, and they are not applicable to this problem.
To use this algorithm, the first step is to section the area in which the vessels are located into a grid of equally sized cells. The size of these cells will affect the speed of the calculations and their accuracy. The larger the cells, the faster the calculations will be, but this will reduce the accuracy of the position given by the algorithm. On the other hand, if the cells are small, the calculations will be more accurate but slower. The cell size setting has a limit: in each cell, there must be only one vessel for the algorithm to run correctly.
Once the grid on which the search will be carried out has been generated, the starting point position for the medical support assistance vessels will be generated using the centre of mass algorithm. This starting position would be correct were there no obstacles between this position and the vessels requiring assistance. However, the fact that distances will increase due to obstacles will have to be considered. The A* algorithm is used to calculate the distance between the initial location for the assistance boat and each of the vessels. These distances are included among the secondary values linked with each vessel, thus increasing the distance that the assisting vessel would have to travel in the case of having to go to aid.
The position definitely proposed by the algorithm is obtained by using the centre of mass algorithm, adding as secondary values the distances obtained with the
A* algorithm for each vessel. As already mentioned, the centre of mass does not use spherical geometry for the calculation. However, the
A* algorithm uses spherical geometry to calculate the distances as it uses the haversine distance function. The use of spherical geometry in this second step aims to minimise the possible error made in the first step, that is, when calculating the centre of mass.
Equations (4) and (5) modify Equations (2) and (3) by adding the distance calculated with the A* algorithm. This new term makes the centre of mass closer to those ships; as the primary scope is to avoid obstacles, it will prioritise a longer but safer route over a shorter non-viable option to travel.
3.3. K-Means
The k-means is a clustering algorithm that allows the elements within an area to be divided within a chosen number of groups, creating a centroid for each one. Although k-means does not guarantee an optimised grouping (and thus optimised centroids), it is a fast and widely used algorithm. In situations where there is more than one assistance vessel aiding within an area, the calculations allow division of the area to be covered into different sections and give a standby position for each assistance vessel.
The algorithm will start off its calculations by selecting random centroids within the designated area and will iteratively make adjustments until it has assigned each vessel to one of the clusters. The adjustments aim to reduce the distance between vessels and centroids. This process of iteration terminates when clusters and the positioning of the centroids remain the same. The centroids will be selected as the standby position for the assistance vessels.
In this algorithm, planar geometry is used to calculate the centroids and spherical geometry is used to calculate the distance between the centroid and the vessels. As in the previous algorithm, the objective is to minimise the error made when using planar geometry in the first step of each iteration.
On occasion, the algorithm can produce very uneven groups, including the possibility of clusters with only one vessel. To prevent this, the algorithm recalculates using different initial centroids to determine new clusters.
The number of clusters and, therefore, centroids obtained will be the number of care vessels that can be assigned to a specific geographic area. Each of the centroids obtained will be the recommended location point for each care vessel. This algorithm can also be used to determine the position for a single assistance vessel.
4. Simulations Carried out to Verify the Operation of the Algorithms
A simulator capable of executing these algorithms was developed in order to support the use of this system, using data from ships and their characteristics. Real data from the fishing boats and the Juan de la Cosa hospital ship were used for the simulations.
4.1. Description and Processing of the Data Used
The data used in the simulations were obtained from three different sources:
Files with AIS data that contained messages issued at 30 min intervals by fishing vessels that were located in the Cantabrian Sea during the bonito fishing season, between the months of June and September for the years 2019 and 2020.
A database with information on Spanish-flagged vessels that fish in the Cantabrian Sea during the bonito fishing season. This database includes detailed information about the boat, fishing gear, number of crew members, etc.
Official data including the location of the hospital ship Juan de la Cosa over the months it was sent by the Spanish authorities to assist the fishing vessels in the Cantabrian Sea.
As AIS messages are not sent by all the fishing vessels at the same time, it is necessary to make adjustments to the data so that the AIS data can be considered to have been received at the same moment, with equal intervals of 30 min. These adjustments will allow the simulation calculations to be carried out correctly.
Among the data available in AIS messages is the speed of each vessel. After studying the speeds, it was found that they were low enough to be able to assume that the messages could have been sent a little earlier or a little later, since the differences between the positions at the time of the AIS message and the positions of some minutes before or after were very small in relation to the work area of the care vessel. The updates to the position of the hospital ship Juan de la Cosa were taken as reference, and the locations for the rest of the vessels were adjusted, storing this information in a database.
To complete the database, the available data on the fishing gear, number of crew members, etc. were added to use them as secondary input data for the entry module of the system. The same weights were assigned to all secondary data. For each crew member, the auxiliary value relative to the number of crew members was increased by one. Regarding the fishing gear,
Table 1 proposed by captains of the Marina Mercante Española was used.
4.2. Description of the Developed Simulator
To carry out the necessary calculations, two complementary tools have been implemented: the first is a geographic information system allowing the visualisation and interaction with the vessels, the assistance area, and the results obtained; the second is a calculation tool without a graphical interface, able to have as input a file with key data obtained from the first tool and evaluate the algorithms included in the system.
The geographic information system (
Figure 2) is able to import information from the database, with regard to the time and positioning of the vessels in a within a specific time interval. Once the data have been imported, the information can be narrowed down and shown for a specific date and time by scrolling with the bottom bar. It is also necessary to select the designated area allocated to each assistance vessel. With this information, the tool can calculate the suggested location or locations for the assistance vessels calculated with the selected algorithm.
The file can also be saved with the extension map and thus can be opened later on with the geographic information system or with the calculation tool.
The application has been developed in the Java language, meaning that further calculations can be easily added, incorporating more algorithms. A programming interface has also been implemented for modelling the implementation of new algorithms for the system. Using it, the new algorithms will fit perfectly into the application.
The calculation application receives as input a map file generated with the geographic information system and produces results for each date found within the input file. Depending on the algorithm used, the application will generate the following results:
For the centre of mass algorithm or the centre of mass algorithm with A*, the distance between the real position of the assistance vessel and the one suggested by the algorithm is calculated.
For the k-means algorithm, the average distance between the position suggested for each assistance vessel and the ships to which it must provide assistance is calculated.
These results are stored in a file that can be imported into Excel for more complex calculations or graphics.
5. Results
The first simulations are carried out with the centre of mass and centre of mass modified with A* algorithms. As there are no obstacles in the area where the fishing boats are located, the results are identical, and thus only one of the graphs obtained from the results from the algorithms is shown.
The graphs include two lines: the dashed line shows the different distances obtained for each timestamp and the solid line is the polynomial of grade six moving average of the data to show the trend within the period of time studied. These results can be seen in
Figure 3.
As mentioned in
Section 3.1, the haversine function has not been used in the centre of mass algorithm to calculate the distance. Using the available data, the average difference between the use of the haversine distance and the Euclidean has been calculated to be within a range of 20 km, an acceptable oscillation in an area of 280,000 km
2. This difference will be greater if the assistance area is larger, but the suggested area is already a large area for a single assistance vessel to cover.
Given that the k-means algorithm is capable of suggesting the position for several assistance vessels, the distance between each assistance vessel and the group of vessels it would have to assist has been calculated in the event that there is one (k = 1) (as is the current case for Spain), two (k = 2), three (k = 3), and four (k = 4) assistance ships with the aim of evaluating the possible improvement in response times by increasing the number of ships in charge of the safety of the fishing fleet in the area being studied. The results obtained can be seen in
Figure 4,
Figure 5,
Figure 6 and
Figure 7.
To complete the information in the previous graphs, the minimum, maximum, and mean distances were calculated for each of the k-values studied. The results are shown in
Table 2.
Figure 8 shows the average distance between the assistance vessels and the ships they are aiding, based on the number of assistance vessels available. The percentage reduction in the average distance is also indicated for every time an assistance vessel is added.
6. Discussion
The suggested system is capable of generating one or several “standby” positions to locate one or several assistance vessels in a designated area and improve response times in the event of an emergency. Taking into account the vast dimensions of the areas they must cover and the hostile nature of sea conditions, this speed will be a determining factor in the success of the rescue and support missions that are undertaken by the assistance vessels.
As can be seen in
Figure 4, the “standby” positions suggested by the system using the centre of mass and centre of mass algorithms modified with
A* can differ from those actually chosen by the captain of the assistance vessel from 50 km to 250 km. Although they may seem like vast distances, nonetheless it should be taken into account that the area the algorithm is calculating is approximately 280,000 km
2. Therefore, it is concluded that the system returns coordinates similar to the position of the ship “Juan de la Cosa” in real situations within the periods studied.
With regard to the results obtained by the k-means algorithm, the data reflect a reduction in the average distance between the assistance vessel and the ships that are part of the cluster to whom it must provide assistance. Said decrease is 49% (year 2019) and 47% (year 2020) using two assistance vessels instead of one, 35% (year 2019 and year 2020) using three assistance vessels instead of two, and 17% (year 2019) and 21% (year 2020) using four assistance vessels instead of three. As expected, as assistance vessels are added to the fleet, the decrease in the distance travelled by these ships within their clusters reduces.
Whilst undertaking this research, an issue has been detected in the use of the k-means algorithm. Due to its operation, it is possible that some of the ships change from one cluster to another after each reassessment of the situation, in the event that they are approximately the same distance from two centroids. In a real situation, this can make delivering the assistance difficult due to possible sudden changes in standby positions, the cluster assigned to vessels, and the assistance vessels having to modify their established position to cater for the new data obtained from the algorithm. The loss of a vessel to another cluster means that assistance vessels have to relocate their standby position to a new location, catering to the remaining ships within the cluster.