Routing algorithm for train network
Here is a list of algorithms might help you:


RAPTOR : Is an algorithm developed by Microsoft and is not graph based. RAPTOR produce pareto optimal unlike CSA.
Connection Scan Algorithm: This is a fast algorithm that doesn't need heavy preprocessing.
Trip-Based Public Transit Routing: requires more preprocessing compared to CSA and RAPTOR
Transfer Patterns


You might also wanna look at OpenTripPlanner algorithms bibliography