Research on Real-Time Optimal Path Planning Model and Algorithm for Ship Block Transportation in Shipyard

Special vehicles called transporters are used to deliver heavy blocks in the shipyard. With the development and application of information and communication technology in shipyards, the real-time positioning and ship blocks online scheduling system for transporters are being developed. The real-time path planning of transporters is important for maintaining the overall production schedule of ship blocks. Because of the large volume and heavy weight of ship blocks, there may be some problems, such as high energy consumption, block deformation and other security issues, when transporters loading a block make a turn. So, fewer turns of the transporters are also important to make a block transportation schedule. The minimum driving distance and fewer turns are considered simultaneously for transporter real-time path planning in this paper. A hybrid model considering the number of turns and the optimal path of the transporter is constructed. Moreover, the optimal scheduling model, considering path missing, is also discussed. Several shortest path algorithms are analyzed, which show that the Dijkstra algorithm is the best way to solve this model. From the attained simulation results, we demonstrate that the proposed model and algorithm have the ability to effectively solve real-time path planning for the ship block transportation in shipyards.


Introduction
The shipbuilding industry is facing the multifaceted problem of less demand and oversupply with worldwide economic crisis and industrial stagnation. Especially for China shipbuilding, the advantage of "low labor cost" has disappeared, raw material and equipment prices have risen sharply, and the pressure of the cost of the shipyard has increased without price competitiveness. The only way out of this dilemma is to enhance the core competitiveness of Chinese shipyards through improving the quality and efficiency of ship construction, reducing the cost and energy consumption.
The shipbuilding industry is a highly complicated industry that normally operates under a make-to-order strategy to produce large structures characterized by complex configurations, long make-span, and advanced manufacturing technology. A ship is divided into several units called blocks, with various shapes and weights, to increase productivity and reduce the time for final assembly process in a dry dock, which is a process that causes a major bottleneck in the shipbuilding process. This approach has the benefit of enabling the construction of many ships simultaneously [1].
The blocks undergo a series of operations, which include pre-outfitting, painting, assembly, and pre-erection, as work in process before the ship is erected in the dock. The processing of the blocks consumes a lot of energy, and there are problems such as insecurity and deformation of ship blocks. Therefore, when planning the optimal real-time path of the transporter, not only must the shortest ship block transportation path be considered, but also the number of turns of the transporter should be minimized when loading the blocks. This paper mainly studies how to combine the driving distance and number of turns of transport to establish an optimized model of the real-time optimal logistics path of transport. All studies as follows are based on the fact that the starting and target position are known first. Due to the particularity of ship block transportation, when using transporters to load ship blocks, which are always huge with different shapes and very heavy, as shown in Figure 1, the turning process consumes a lot of energy, and there are problems such as insecurity and deformation of ship blocks. Therefore, when planning the optimal real-time path of the transporter, not only must the shortest ship block transportation path be considered, but also the number of turns of the transporter should be minimized when loading the blocks. This paper mainly studies how to combine the driving distance and number of turns of transport to establish an optimized model of the realtime optimal logistics path of transport. All studies as follows are based on the fact that the starting and target position are known first. According to the Geographic Information System (GIS) map constructed by the shipyard, the connection relationship between the main road of the shipyard and each workshop and stockyard is simplified into nodes, as shown in Figure 2.  According to the Geographic Information System (GIS) map constructed by the shipyard, the connection relationship between the main road of the shipyard and each workshop and stockyard is simplified into nodes, as shown in Figure 2. Due to the particularity of ship block transportation, when using transporters to load ship blocks, which are always huge with different shapes and very heavy, as shown in Figure 1, the turning process consumes a lot of energy, and there are problems such as insecurity and deformation of ship blocks. Therefore, when planning the optimal real-time path of the transporter, not only must the shortest ship block transportation path be considered, but also the number of turns of the transporter should be minimized when loading the blocks. This paper mainly studies how to combine the driving distance and number of turns of transport to establish an optimized model of the realtime optimal logistics path of transport. All studies as follows are based on the fact that the starting and target position are known first. According to the Geographic Information System (GIS) map constructed by the shipyard, the connection relationship between the main road of the shipyard and each workshop and stockyard is simplified into nodes, as shown in Figure 2.

A Hybrid Graph Model of Node Distance and Number of Turns
From the perspective of energy, the transport operation cost of a transport is considered. Setting the energy consumption of a transport for a unit distance when going straight as E S , and the energy consumption of a turn as E T , then the objective function of the optimization model is Equation (1): where D represents the distance traveled by the transport and T represents the number of turns of the transport. The values of E S and E T can generally be determined according to the actual situation of the shipyard. However, considering that the specific measurement of the two may be difficult, the proportional relationship between the two is given: λ = E T /E S . Therefore, the objective function of the optimization model can be rewritten as Equation (2): where λ ≥ 0 represents how many more times energy it takes to make a turn as it takes to go straight a unit distance.
To solve this problem, it is necessary to find a method that can simultaneously present the distance relationship between nodes and the turning relationship between roads in the same graph to form a classic model in graph theory, and then use the classic shortest path algorithm to solve it.
First, the modeling process of graph theory, with simple examples, is analyzed as follows. As shown in Figure 3, suppose one wants to find an optimal path from a to e. If the shortest distance is considered only, obviously a→b→d→e is optimal, and the path length is 2 + √ 2. However, the number of turns on this path is 2. If the path a→b→c→e is chosen, the path length is 4, and the number of turns is 1. And if λ = 1, the route a→b→c→e is optimal.
where D represents the distance traveled by the transport and T represents the number of turns of the transport.
The values of S E and T E can generally be determined according to the actual situation of the shipyard. However, considering that the specific measurement of the two may be difficult, the proportional relationship between the two is given: Therefore, the objective function of the optimization model can be rewritten as Equation (2): where 0 λ ≥ represents how many more times energy it takes to make a turn as it takes to go straight a unit distance.
To solve this problem, it is necessary to find a method that can simultaneously present the distance relationship between nodes and the turning relationship between roads in the same graph to form a classic model in graph theory, and then use the classic shortest path algorithm to solve it.
First, the modeling process of graph theory, with simple examples, is analyzed as follows. As shown in Figure 3, suppose one wants to find an optimal path from a to e. If the shortest distance is considered only, obviously a→b→d→e is optimal, and the path length is 2 2 + . However, the number of turns on this path is 2. If the path a→b→c→e is chosen, the path length is 4, and the number of turns is 1. And if 1 λ = , the route a→b→c→e is optimal. The graph shown in Figure 3 not only reflects the distance between nodes in terms of weights, but also describes the actual location of nodes in terms of location distribution. Combining Figure 3 as an example, the analysis describing how to combine the distance relationship and turning relationship in Figure 3   The graph shown in Figure 3 not only reflects the distance between nodes in terms of weights, but also describes the actual location of nodes in terms of location distribution. Combining Figure 3 as an example, the analysis describing how to combine the distance relationship and turning relationship in Figure 3 on a new graph ( Figure 4) is as follows: The distance between nodes is the relationship between nodes, and whether it turns or not indicates the relationship between edges connected to nodes. In order to convert the relationship between edges to the relationship between nodes, this section introduces two virtual nodes on each edge to represent the turning relationship between edges. The distance between nodes is the relationship between nodes, and whether it turns or not indicates the relationship between edges connected to nodes. In order to convert the relationship between edges to the relationship between nodes, this section introduces two virtual nodes on each edge to represent the turning relationship between edges. Figure 4a shows a simple three-way intersection. Among them, the four nodes of XYZW constitute a three-way intersection, and the distance between the nodes is all 1.
In order to be able to describe the turning relationship between the edges connected to the node Y and preserve the distance relationship between the nodes at the same time, as shown in Figure 4b, a virtual node is added to all three edges, denoted as x, w, and z. Then the weights between the virtual nodes are used to record the turning relationship between the edges.
For example, there is no turn from XY to YZ, so the weight between xz is recorded as 0; while from XY to YW, the weight is recorded as 1. In this case, if you want to reach other paths through the Y node, you can only pass the virtual node corresponding to Y. Obviously, this completes the accumulation of the number of turns. For example, the path X→Y→Z in the original image becomes X→x→z→Z, and the sum of weights is 2+0; while in the original image, X→Y→W becomes X→x→ w→W, and the sum of weights is 2+1. Therefore, such a transformation can add turning information.
At the same time, considering that node Y can still be used as the starting point and end point, the method shown in Figure 5 is adopted: ① In order for node Y to be the starting point, introduce three unidirectional edges connecting from Y to the virtual node, and set the weight to zero, as shown in Figure 5a. ② In order to make node Y as the end point, it is necessary to introduce three unidirectional edges connecting from the virtual node to node Y, as shown in Figure 5b, and the weight is zero. ③ In order to make node Y both the starting point and the end point, the two kinds of nodes in Figure 5 are introduced into the new graph, that is, a real node Y is split into two virtual nodes, as shown in Figure 5. The one shown in 5a is called the starting node, and the one shown in Figure 5b is called the target node. At the same time, whether it is the starting node or the target node, when the path needs to pass through the actual node Y, it can only be completed through the virtual path corresponding to Y. This shows that the introduction of these two kinds of nodes does not affect the characteristics of the newly created graph model that can count turns.  Figure 4a shows a simple three-way intersection. Among them, the four nodes of XYZW constitute a three-way intersection, and the distance between the nodes is all 1.
In order to be able to describe the turning relationship between the edges connected to the node Y and preserve the distance relationship between the nodes at the same time, as shown in Figure 4b, a virtual node is added to all three edges, denoted as x, w, and z. Then the weights between the virtual nodes are used to record the turning relationship between the edges.
For example, there is no turn from XY to YZ, so the weight between xz is recorded as 0; while from XY to YW, the weight is recorded as 1. In this case, if you want to reach other paths through the Y node, you can only pass the virtual node corresponding to Y. Obviously, this completes the accumulation of the number of turns. For example, the path X→Y→Z in the original image becomes X→x→z→Z, and the sum of weights is 2+0; while in the original image, X→Y→W becomes X→x→w→W, and the sum of weights is 2+1. Therefore, such a transformation can add turning information.
At the same time, considering that node Y can still be used as the starting point and end point, the method shown in Figure 5   Combining the above two strategies, the original map shown in Figure 3 can be converted into the map structure shown in Figure 6. The line segments in the figure all indicate two-way edges, and the arrows indicate one-way edges. The weights of edges without label weights are all 0.
In Figure 6, taking point b as an example, the actual node b is split into a departure node b and a target node b. The starting node has only the edge connected to the virtual node, and the ending node has only the edge entering from the virtual node. At the same time, there are three white virtual nodes on the three edges connected to b. This method is used to record the turning relationship between the paths.
By performing the conversion according to the above rules, there are two virtual nodes on each edge, corresponding to the two endpoints of an edge. The weight relationship between virtual nodes is the turning relationship between edges. Each actual node is divided into a starting node and a  At the same time, whether it is the starting node or the target node, when the path needs to pass through the actual node Y, it can only be completed through the virtual path corresponding to Y. This shows that the introduction of these two kinds of nodes does not affect the characteristics of the newly created graph model that can count turns.
Combining the above two strategies, the original map shown in Figure 3 can be converted into the map structure shown in Figure 6. The line segments in the figure all indicate two-way edges, and the arrows indicate one-way edges. The weights of edges without label weights are all 0.
Combining the above two strategies, the original map shown in Figure 3 can be converted into the map structure shown in Figure 6. The line segments in the figure all indicate two-way edges, and the arrows indicate one-way edges. The weights of edges without label weights are all 0.
In Figure 6, taking point b as an example, the actual node b is split into a departure node b and a target node b. The starting node has only the edge connected to the virtual node, and the ending node has only the edge entering from the virtual node. At the same time, there are three white virtual nodes on the three edges connected to b. This method is used to record the turning relationship between the paths.
By performing the conversion according to the above rules, there are two virtual nodes on each edge, corresponding to the two endpoints of an edge. The weight relationship between virtual nodes is the turning relationship between edges. Each actual node is divided into a starting node and a destination node. Finding a path from a to e in the actual problem can be transformed into the shortest path from the starting node of a to the target node of e. In Figure 4, the path between any two actual nodes can be transformed into a path from the starting node to the target node and passing through the virtual node. In addition, the path on the new graph has accumulated distance and weight.
For example, to find the optimal path from a to e, at this time, the weight on a→b→d→e is  In Figure 6, taking point b as an example, the actual node b is split into a departure node b and a target node b. The starting node has only the edge connected to the virtual node, and the ending node has only the edge entering from the virtual node. At the same time, there are three white virtual nodes on the three edges connected to b. This method is used to record the turning relationship between the paths.
By performing the conversion according to the above rules, there are two virtual nodes on each edge, corresponding to the two endpoints of an edge. The weight relationship between virtual nodes is the turning relationship between edges. Each actual node is divided into a starting node and a destination node. Finding a path from a to e in the actual problem can be transformed into the shortest path from the starting node of a to the target node of e.
In Figure 4, the path between any two actual nodes can be transformed into a path from the starting node to the target node and passing through the virtual node. In addition, the path on the new graph has accumulated distance and weight.
For example, to find the optimal path from a to e, at this time, the weight on a→b→d→e is 4 + √ 2, and the weight on a→b→c→e is 5, so considering the weight of the number of turns λ = 1, one should choose a→b→c→e as the optimal path. When the weight is not 1, just multiply all the weights on the edges representing the number of turns with λ to calculate.

Energy Optimal Scheduling Model Based on Hybrid Graph
In the previous section, a simple problem was used as an example to describe the conversion method of simultaneously representing the distance and the number of turns on a same graph. However, the above graphic model can be solved by algorithm only if it is transformed into a mathematical model. In this section, mathematical language is used to describe a general model symbolically, and to discuss how to choose the appropriate algorithm for optimization.
Given a road network G = (V, E), where V = {v 1 , v 2 , . . . , v n } represents a collection of nodes, and E = {e 1 , e 2 , , e m } represents a collection of roads: The weight of the edge is the distance between the nodes, which is represented by the distance matrix D = d ij n×n . If d ij = ∞, it means that there is no edge connection between v i and v j .
In addition, different from the general graph, the turning relationship between the edges needs to be considered, denoted as T = t ij m×m ; if t ij = 1, it means that a turn is needed from e i to e j ; if t ij = 0, it means that no turn is needed from e i to e j ; in addition, if t ij = ∞, then it means that e i and e j do not have a common vertex.
In order to simultaneously show the distance between nodes and the turning relationship between roads, a new graph, H = (V , E ), is constructed.
Where V = V S ∪ V T ∪ V E , V S represents the set of starting nodes corresponding to the real node V; V S represents the set of target nodes corresponding to the real node V; and V E represents the set of virtual nodes on the edge. Obviously, the nodes in V S , V T correspond to the nodes in V one-to-one, and the number is n. There will be two virtual nodes on an edge, so there are 2m elements in V E . Therefore, there are 2m + 2n nodes in the graph H.
For the set of edges E = E S ∪ E T ∪ E V ; where E S represents the set of edges connected to the departure node in V S ; E T represents the set of edges connected to the departure node in V s ; and E V represents the set of edges between virtual nodes V E .
In order to calculate the optimal path on the graph H, the weight of the graph is represented by a matrix W, which is a (2m + 2n) × (2m + 2n) matrix. In order to represent the matrix, each node in V needs to be numbered according to certain rules.
The nodes in V s in this section are numbered from 1 to n in the order of V, while the nodes in V T are numbered from n + 1 to 2n rows, that is: The nodes in V E in this section are numbered in the order of the boundary in E, let e k = v i , v j , where i < j, then: where V E (e k , v i ) represents the virtual node of v i ; on edge e k .V E e k , v j represents the virtual node of v j on edge e k . If graph G numbers the nodes and edges according to the situation in Figure 7, then the number of nodes in graph H is shown in Figure 8. In Figure 8, the number of the starting node is from 1 to 5, and the number of the target node is from 6 to 10. The number of the virtual nodes connected to the node with the smaller number on the edge is 11-15, and the number of the virtual nodes connected to the node with the larger number is 16-20. If graph G numbers the nodes and edges according to the situation in Figure 7, then the number of nodes in graph H is shown in Figure 8. In Figure 8, the number of the starting node is from 1 to 5, and the number of the target node is from 6 to 10. The number of the virtual nodes connected to the node with the smaller number on the edge is 11-15, and the number of the virtual nodes connected to the node with the larger number is 16-20.    After numbering the nodes in the graph H , we can follow the rules described in Section 2.2.1 to give the weight matrix W of the graph H satisfying Equation (5): where, ① The first case represents After numbering the nodes in the graph H, we can follow the rules described in Section 2.2.1 to give the weight matrix W of the graph H satisfying Equation (5): where, graph G, just find the optimal path of V S (v i ) → V T v j in the graph H. The optimal path problem on the graph H is a classic shortest path problem, which can be solved by the algorithm for solving the shortest path problem. Five common shortest path algorithms are shown in Table 1. Among them, the BFS and acyclic algorithms have the lowest complexity, but BFS is an algorithm on an unweighted graph, which is obviously not suitable for solving the problem in this section. Acyclic requires the graph to be a directed acyclic graph, that is, starting from a node, it cannot return to the original node through any path. Obviously, because there are two-way paths on the graph in this section, it is not a directed acyclic graph. The shortest path algorithms that meet the conditions are the Bellman-Ford algorithm and the Dijkstra algorithm. Among them, the complexity of the Dijkstra algorithm is low, and the weights on the map of the shipyard transportation problem are all greater than, or equal to, zero, so the Dijkstra algorithm can be used. In addition, the reasons for not using the Floyd algorithm that can obtain the shortest distance between all nodes are: (1) in the case of missing paths, the graph has a certain degree of dynamics. If the structure of the graph changes, it needs to be recalculated; (2) the Floyd algorithm cannot obtain the specific shortest path while obtaining the shortest distance.
In summary, this section describes how to generate a graph containing distance and number of turns from a road network. At the same time, the Dijkstra algorithm is chosen to solve the optimal path between two nodes to obtain the global optimal solution of the problem.

Algorithm Solution
The Dijkstra algorithm is a classic algorithm to solve the shortest path problem in graph theory. It is based on an abstract network model, in which the road is abstracted as an edge. The weight of the edge is used to represent the parameters of the road. The algorithm determines the path with the least weight from a certain point to all other nodes in the weighted network. The meaning of weight is broad, which can express distance, quantity, cost, etc. Usually, the smallest weight between two points is called the distance between two points, and the corresponding problem is summarized as the shortest path problem expression.
First of all, the Dijkstra algorithm can be described with the following pseudocode: Di jkstra(G, w, s) where G represents the graph object, w is the weight matrix, and s is the starting node. During initialization, record the shortest distance d[v] = ∞ from the marked node v to the source node s, and the predecessor node of each node which means that the previous node in the shortest path is marked as π[v] = NULL. Then, mark the shortest distance d[s] = 0 of the source node itself, and then establish a minimum queue Q according to d.
When the algorithm starts to iterate, the vertex u of the smallest d value in the queue Q is extracted first each step, and all reachable nodes v ∈ Ad j[u] of u is updated. If the distance from node u to node v plus d[u] is less than the original minimum distance d ) is updated, and make u the precursor node of v.
At the end of the algorithm, d records the shortest distance from all nodes to the source node s, and π records the information of the precursor node. If you want to query the shortest path from node s to node t, you only need to start from t and find the previous node according to π[t], and so on until the node s is found. Then the shortest path can be outputted reversely.

Optimal Scheduling Model Considering Path Missing
In the actual dispatch process of the shipyard, a certain route in the road network may be temporarily unavailable. Therefore, in this section, an optimal scheduling model considering path missing is established.
In the road network G = (V, E), suppose the transporter is located at the node S 0 , and the transportation task is to move the ship block from the node S 1 to the node S 2 . When the transporter starts the transportation task, suppose there are some roads temporarily missing in the road network, and the set of these missing roads is recorded as E B .
The transporter needs to first arrive at node S 1 from S 0 , and then transport ship block from node S 1 to S 2 . Considering that the energy consumption ratio of turning and going straight is different when the transport is empty and full, it is necessary to solve the S 0 → S 1 and S 1 → S 2 in sections. Suppose the weight of S 0 → S 1 is λ 1 and the weight of S 1 → S 2 is λ 2 .
For S 0 → S 1 , take the weight as λ 1 . After constructing the graph H 1 according to the algorithm in Section 2.2.2, the weight matrix W 1 is processed as follows, and the missing path is marked as: which means the weight between the two virtual nodes on this edge is marked as positive infinity. Then, the shortest path on W 1 from the starting node V S (S 0 ) of S 0 to the target node V T (S 1 ) of S 1 can be calculated using the Dijkstra algorithm.
Similarly, for S 1 → S 2 , after constructing the graph H 2 according to the algorithm in Section 2.2.2, the weight matrix W 2 is processed as follows, and the missing path is marked as: which means the weight between the two virtual nodes on this edge is marked as positive infinity. Then the shortest path on W 2 from the starting node V S (S 1 ) of S 1 to the target node V T (S 2 ) of S 2 can be calculated using the Dijkstra algorithm. Figure 9 shows a schematic diagram of optimal scheduling. The red road in the picture is the temporarily missing road. The yellow path is the optimal path from the current position of the transporter to the starting point of the mission. At this time, the transporter is empty, and the turning energy is considered negligible, so λ 1 = 0; the blue path in the picture is the optimal path from the start of the mission to the end of the mission. At this time, the transporter is loaded, and the turning energy consumption is large. Taking λ 2 = 1 can get the optimal path in the figure. temporarily missing road. The yellow path is the optimal path from the current position of the transporter to the starting point of the mission. At this time, the transporter is empty, and the turning energy is considered negligible, so 1 0 λ = ; the blue path in the picture is the optimal path from the start of the mission to the end of the mission. At this time, the transporter is loaded, and the turning energy consumption is large. Taking 2 1 λ = can get the optimal path in the figure.

Influence of Parameters λ
From the description in the previous section, it can be seen that the results of the ship block optimal logistics path model with the least energy consumption of the transport are directly affected by the parameters λ. Therefore, the influence of parameters λ on the model results is analyzed in this section. Figure 10 shows the different effects on the optimal path when the starting node and the target node are the same. The blue path in the figure is gotten when λ = 0, which means that only minimizing the travel distance is considered, without considering the number of turns. It can be found that when λ = 0, the length of the path is the shortest, and there are more turns (24 times). The orange path in the figure is the result of λ = 1000. At this time, only the number of turns is minimized, and the travel distance is not considered. It can be found that when λ = 1000, the number of turns of the transport is the least (only 11 times), and the transporter basically drives along the straight path along the edge of the road network. The orange-red path is gotten when λ = 1, which reflects the situation that both distance and the number of turns are considered. At this time, the distance is slightly larger than the result when a = 0, and the number of turns is closer to λ = 1000. Compared to the case of λ = 0, the travel distance is only increased by 6 m, and the number of turns is reduced by 12, which is a wonderful result.
number of turns of the transport is the least (only 11 times), and the transporter basically drives along the straight path along the edge of the road network. The orange-red path is gotten when 1 λ = , which reflects the situation that both distance and the number of turns are considered. At this time, the distance is slightly larger than the result when a = 0, and the number of turns is closer to 1000 λ = . Compared to the case of 0 λ = , the travel distance is only increased by 6 m, and the number of turns is reduced by 12, which is a wonderful result.

Run Time Analysis
We ran the algorithm on Windows 7 operation system in an Intel Core i7-7500U laptop computer with 8 GB RAM. On the same road network as Figure 10, 1000 random trials were carried out, and the distribution of running time was obtained as shown in Figure 11. It was found that the running time is between 1 to 6 millis, and the speed is very fast.

Run Time Analysis
Assuming that there are N nodes in the road network and E roads in total, the transformed graph has 2N + 2E nodes and O E 2 edges. According to the complexity of the Dijkstra algorithm, the complexity of the algorithm in this paper is O log(N + E)E 2 .
We ran the algorithm on Windows 7 operation system in an Intel Core i7-7500U laptop computer with 8 GB RAM. On the same road network as Figure 10, 1000 random trials were carried out, and the distribution of running time was obtained as shown in Figure 11. It was found that the running time is between 1 to 6 millis, and the speed is very fast.  Table 2. The initialization time in the table refers to the process of transforming the actual road network into the new graph described in Section 2.2.2. This process only needs to be executed once during the entire program execution. It can be seen that, even if the problem size reaches the order of 100,000, the initialization can still be completed in about 1.3 s, and each solution only takes 0.5 s. It fully meets the requirements of real-time optimal logistics path In addition, the complexity of the algorithm proposed in this section is O log(N + E)E 2 , so the algorithm can be applied to large-scale problems. The results of experiments on problems of different scales are shown in Table 2. The initialization time in the table refers to the process of transforming the actual road network into the new graph described in Section 2.2.2. This process only needs to be executed once during the entire program execution. It can be seen that, even if the problem size reaches the order of 100,000, the initialization can still be completed in about 1.3 s, and each solution only takes 0.5 s. It fully meets the requirements of real-time optimal logistics path planning for ship block logistics, and has strong real-time performance.

Conclusions
In this paper, we have considered how to combine the travel distance and number of turns of transport to establish an optimized model of the real-time optimal path for a transporter. Several common optimal path algorithms were analyzed. The Dijkstra algorithm was selected to solve the proposed model. In addition, sometimes a certain route in the road network may be temporarily unavailable in the shipyard. So, an optimal scheduling model considering path missing was established. Finally, the numerical simulation experiments and analysis with the algorithm chosen in this paper by using GIS map of a shipyard were presented. It can be seen that, even if the problem size reaches the order of 100,000, the initialization can still be completed in about 1.3 s on standard hardware and software conditions, and each solution only takes 0.5 s. The results show that the proposed model and algorithm are efficient to solve the optimal real-time path planning with comprehensive consideration of the travel distance and number of turns of transporter. In this paper, the computational real-time performance is high, and what we have done can fully meet the requirements of an online real-time planning path. In further research, we will test the proposed model and algorithm based on the real-time transporters positioning system in a real shipyard.

Conflicts of Interest:
The authors declare no conflict of interest.