## 3 Results  
With the trick described in Section 2.4, the track layout of any overtaking stations on double-track lines can be analysed. From the point of view of a mathematician, the track layout diagram of Figure 6 lacks symmetry and route compatibility does not seem trivial to visually check. Would it be possible to conceive something similar, but symmetric and simpler; for instance, using scissors crossings? The answer is yes (Figure 14). The _Maple 2022_ code necessary to analyse a new track layout proposal with the _Estaciones2_ package is included below. It is advisable to begin restarting the session before loading the built-in GraphTheory package and the package described in this article:  
restart;  
with(GraphTheory):  
read('C:/.../Estaciones2.mpl'):  
The names of the vertices of the digraph and their connectivity can be introduced afterwards:  
G := Digraph([\"5\",\"3\",\"1c\",\"1b\",\"1a\",\"1\",\"1z\",\"1y\",\"1x\",\"0a\",\"0y\",  
\"2c\",\"2b\",\"2a\",\"2b\",\"2z\",\"2y\",\"2x\",\"4y\",\"6\"],  
{[\"1x\",\"5\"], [\"1x\",\"1y\"], [\"1y\",\"1z\"], [\"1y\",\"0y\"],  
[\"1y\",\"2z\"], [\"1z\",\"1y\"], [\"1z\",\"3'], [\"1z\",\"1a\"],  
[\"3\",\"1a\"], [\"1a\",\"1b\"], [\"1a\",\"0a\"], [\"1a\",\"2b\"],  
[\"1b\",\"1c\"], [\"5\",\"1c\"], [\"2x\",\"6\"], [\"2x\",\"2y\"],  
[\"2y\",\"2z\"], [\"2y\",\"0y\"], [\"2y\",\"1z\"], [\"2z\",\"4\"],  
[\"2z\",\"2\"], [\"2\",\"2a\"], [\"4\",\"2a\"], [\"2a\",\"2b\"],  
[\"2a\",\"0a\"], [\"2a\",\"1b\"], [\"2b\",\"2c\"], [\"6\",\"2c\"]}):  
(In _Maple_ := is used to assign values to variables. Semicolons and colons are statement separators; and the result is not displayed if a colon is used). It is a good idea to allocate the vertices (it has to be done manually), so that the plot of the digraph resembles the railway station; for instance:  
Figure 14: The new track layout diagram proposal. vp := [[0.4,1.2],[0.4,1],[-1.2,0.8],[-0.8,0.8],[0,0.8],[0.4,0.8],  [0.8,0.8],[1.6,0.8],[2,0.8],[-0.2,0.6],[1.4,0.6],  [-1.2,0.4],[-0.8,0.4],[0,0.4],[0.4,0.4],[0.8,0.4],  [1.6,0.4], [2,0.4],[0.4,0.2], [0.4,0]]: and the line of code afterwards produces the plot of Figure 15. SetVertexPositions(G,vp):  
The accessibility is not perfect in this case (one track of the six tracks of the station is not accessible from each throat); for instance, section 6 cannot be reached from section 1_x_: AreReachableList(G,\"1x\",[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\"]); \"1\", true  \"2\", true  \"3\", true  \"4\", true  \"5\", true  \"6\", false (observe that the inputs are left-aligned while the outputs are centered, as is usual in _Maple_). In addition, it is straightforward to obtain, for instance, a shortest path (counting the number of vertices) from 1\(x\) to 1\(c\) through 4 and to plot it in red colour (Figure 16):  
```
ww:=ShortestPathThrough(G,\"1x\",\"1c\",\"4\");  ww:= [\"1x\", \"1y\", \"2z\", \"4\", \"2x\", \"1b\", \"1c\"] \"HighlightTrail(G,ww,red); DrawGraph(G);
```  
This new track layout proposed has the same advantage as the one of Figure 6: even in a degraded scenario where a main track of the station and all sidings at that side are  
Figure 16: A shortest path from 1\(x\) to 1\(c\) through 4. Figure 15: Plot of the digraph associated to the track layout diagram of Figure 13.  
unavailable, still two disjoint routes from one throat to the other (for instance, from \(1x\) to \(1c\) and from \(2x\) to \(2c\)) can be found:  
jj:=ShortestPathThrough(G,\"1x\",\"1c\",\"5\");  
HighlightTrail(G,jj,red);  
GD1:=DeleteVertices(G,jj);  
GD2:=DeleteVertices(GD1,[\"2\",\"4\",\"6\"]);  
gg:\"ShortestPath(GD2,\"2x\",\"2c\");  
HighlightTrail(G,gg,blue);  
DrawGraph(DeleteVertices(G,[\"2\",\"4\",\"6\"]));  
(see Figure 17). Let us underline that such a degraded scenario is not so strange. In the standard track layout of Figure 4 it can happen if there is a serious problem with one of the turnouts on the main track or if there is a partial problem with the electricity supply (the even and odd tracks usually have separated energy supplies [28]).