Optimal way of visiting each metro station of Montreal As weird as it sounds, my girlfriend asked me to come up with a way of visiting each metro stations in Montreal as fast as possible. By this she means that she wants to avoid visiting a station more than once as much as possible. There are $4$ lines: Yellow, Orange, Green and Blue.
One immediately thinks of the metro map as a finite bidirected graph. If we first assume that she can start at any station, we can see the map as a graph on $68$ vertices. It then seems clear that she needs to start at Honoré-Beaugrand station (green line) since there are $12$ edges until the next junction and travelling back and forth is not optimal. However, it is certainly not clear how to proceed from there.
Call a rail junction/start/end an entrance. Those are depicted by greater white circles on the map. If we impose the condition that she starts at one of the $10$ entrances, we can reduce to a graph on only $10$ vertices with a weight assigned to each edge. In this case, an edge corresponds to the distance between two entrances. This condition should simplify the problem, but I am unsure how.
Although I've taken a graph theory class, I cannot translate my problem into notions I already know. I've seen Hamiltonian and Eulerian paths as well as the longest path problem (which is NP-hard), but they do not fully encapsulate the idea since it is impossible to visit each edge or vertex exactly once.
Is there a better way to approach this problem than bruteforce? I can certainly encode the structure of the metro map into a graph and test each possibility, but it will take quite some time. Is there some additional, useful info I should know to solve this?
Thank you for your help.

 A: Here's a simplified version of your graph:
         *       *
         |       |
         6       7
         |       |
         S---8---J---3---*
         |       |
         4       6
         |       |
 A---7---L---7---B---12---H
          \     /|
           '-7-' 2
                 |
                 *

There is a central network and several dead-end paths hanging off it. A dead-end path of length $n$ will either take $n$ hops if you start or finish on it, or $2n$ hops to get to the end and back. Let's assume you start at Honoré-Beaugrand, the terminus of the long $12$-hop path. There are multiple Eulerian paths over the central network starting from Berri-Uqam, but they all have the same length ($6+8+4+7+7=32$), and they all end at Lionel-Groulx. Whichever way you go, visit the other terminuses when you can ($2\times(2+3+7+6)=36$). Finally, take the $7$-hop path and end at Angrignon. Your total length is $12+32+36+7=87$.
I haven't considered paths that start or finish at one of the other four terminuses, but since you'd have to take a round trip to Honoré-Beaugrand and repeat one of the paths in the central network (the only Eulerian paths are between Berri-Uqam and Lionel-Groulx), I don't think they could be any shorter.
A: You did not really explain "avoid visiting a station more than once as much as possible".
Assuming that visiting two stations twice is just as bad as visiting one station three times,
this is just an instance of the well-known travelling salesman problem.
Just give each edge weight 1 and the shortest route will be the route that
visits the smallest number of nodes. For the edges that 'do not exist' you add an artificial edge that has as weight the length of the shortest path between its endpoints (and of course, travelling this edge means visiting the intermediate stops).
This is a hard problem however. Removing the requirement to start and stop at the same vertex
does not make it any easier.
Note that with these edge weights you only minimize the number of multiple visits,
so it may result in a trip that is much longer than another trip that visits every stop
but uses more nodes.
