## 2 Literature Review  
### Eco-Driving Approaches  
Numerous methods have been proposed in the eco-driving literature to obtain efficient speed profiles. The eco-driving problem is usually stated as the search of the speed profile with the minimum energy consumption for a target running time between stations. Target running times are obtained after solving the capacity allocation problem [20] and the design of the timetable that distributes the time margins among stations [21] and coordinates train starts and stops [22]. The techniques applied to solve the problem can be classified as analytical methods and numerical methods [23]. Optimal control theory is typically applied on the analytical methods. They apply the Pontryagin's Maximum Principle to obtain the energy efficient regimes and different algorithms to calculate their optimal switching points. The first study on eco-driving was performed by [PERSON] in 1968 [24] where the Maximum Principle was applied to a very simplified train model. In 1988, [PERSON] [25] demonstrated that the solution of the eco-driving optimization problem exists and is unique and, later, the author used the Maximum Principle to obtain the optimal solution and the optimal train driving regimes [26]. The train model has been refined over the years including regenerated energy [27],variable grades, and speed limits [28], and steep grades [29]. Furthermore, using this technique, a driver advisory system called Energimiser was developed to guide train drivers to operate train with the minimum energy consumption [30]. In [31], the optimal driving regimes are derived to calculate jointly the timetable and train driving at each station to minimize the energy consumption of a metro line operation. Dynamic Programming is applied and compared with Sequential Quadratic Programming to minimize the energy consumption of a train driving between stations taking into account on-board energy storage system in [32; 33]. In [34], Dynamic Programming is applied to optimize the train speed profile combined with a Simulated Annealing algorithm to optimize a metro line operation taking into account the train energy consumption, the exchange of regenerative energy among the trains on the line and the passenger demand. Other analytical methods, such as Lagrange multiplier over the discretized problem [35], and transforming the optimal control problem into a non-linear problem [36; 37], can be found among these eco-driving algorithms. Analytical methods can calculate the optimal solution frequently using low computational times. However, they require sometimes including simplifications in the line and the train models that produce inaccurate solutions. This could lead to several recalculations of the train eco-driving when applying it in a real railway line [38]. Furthermore, accuracy in the train model is especially important when solutions must be applied by ATO systems. These systems implement complex procedures that determine the way in which the train is driven. For instance, complex algorithms are used to determine the starting point of braking phases or the approximation to speed targets to ensure safe and comfortable driving [39]. Numerical methods are more flexible: any constraint related to the driving system or passengers' comfort can be easily included, and the train model can be as detailed as necessary. This is crucial when implementing eco-driving because there are other performance indicators to be fulfilled apart from energy consumption, such as comfort, punctuality, safety, workload for drivers, etc. [40]. Therefore, railway operators can obtain solutions using their own tailored simulation models, and fulfilling the operational restrictions required for the line [41]. These methods have also been applied for the design of eco-driving and, frequently, they are applied in combination with detailed simulation models [42]. Examples of classical numerical methods are Direct Search algorithms [43], Brute Force [44], and Monte Carlo Simulation [45].