1. Introduction
Energyefficient driving strategies have shown to substantially lower the total energy consumption of railway trains. With an increased demand for energy saving technologies, numerous research studies have been devoted to this subject in recent years, showing that in many cases an average energy saving of 15 to 30 % could be achieved by assisted driving [
2,
3,
4,
5,
6,
7,
8,
9]. A comprehensive review on energyefficient train control, commonly abbreviated as EETC, is given by Scheepmaker, Goverde, and Kroon [
10]. The majority of the mathematical models that have been developed to calculate energy minimised driving are based on Pontryagin’s maximum principle (PMP), a fundamental theorem of optimal control theory. The maximum principle was formulated in 1961 by Pontryagin, Boltyanskii, Gamkrelidze, and Mishchenko [
11,
12]. The first application of Pontryagin’s maximum principle to the operation of trains dates back to Japanese research in 1968 (Ichikawa [
13]). The model of Ichikawa was restricted to a flat track and linear train resistance depending on speed. Another early contribution is due to Strobel, Horn, and Kosemund [
2]. They considered nonconstant altitude and found that the optimal solution is always in one of the drive regimes
full traction,
partial traction with constant speed,
coasting,
partial braking with constant speed, and
full braking. Based on their model, they set up a first driver advisory system for the Berlin SBahn (suburban trains).
Since those pioneering research on this topic, models have gained complexity. Important developments have been: (1) the application to variable altitude and variable speed limit, (2) the inclusion of regenerative braking in electric locomotives or motor coaches, (3) improved modelling for train resistance, tractive, and brake force depending on speed, (4) the energy minimisation with nonzero speed boundary conditions, (5) advanced modelling of efficiency as dependent on speed, tractive, and brake force, (6) multipletrain problems.
Regarding the second aspect, some (especially the earlier) authors are dealing only with mechanical braking of trains. When regenerative braking is considered, most authors base their energyefficient driving strategy on the exclusive use of the regenerative brake. A few recent contributions cover the combined application of mechanical and regenerative brake in their optimisation strategy.
We proceed with some important developments for purely mechanical braking. Starting from the PhD thesis of Milroy [
14] in 1980, a reaserch team at the University of South Australia introduced the system
Metromiser (Howlett and Pudney [
3]). The system covered both timetable planning and driver advisory. Metromiser was restricted to constant track gradients during both coasting and braking. The system was first applied on trains in Adelaide (Australia) in 1984, followed by Toronto (Canada), Melbourne (Australia), and Brisbane (Australia). Howlett, Milroy, and Pudney [
15] were the first to assume variable speed limit, but only for the special case of discrete traction control. In 2003, Liu and Golovitcher [
16] presented a method covering variable altitude, variable speed limit, continuous traction control, and quadratic train resistance dependence on speed. Except being bound to purely mechanical braking, this algorithm is therefore quite general with respect to the other assumptions. The article contains a complete description of switching between the possible drive regimes. In 2013, Albrecht, Howlett, Pudney, and Vu [
17] introduced the driver advisory system
Energymiser that has been applied by French railway SNCF on TGV high speed trains. They proved the uniqueness of the energy optimum being derived. A multiobjective algorithm combining energy minimisation and punctuality of trains was developed by Aradi, Becsi, and Gaspar [
7].
Regenerative braking was first considered in 1985 by Asnis, Dmitruk, and Osmolovskii [
18] in the context of train energy minimisation. They assumed constant altitude and speed limit in their model. Franke, Terwiesch, and Meyer [
4] introduced an energy optimisation algorithm for variable altitude, variable speed limit, and purely regenerative braking that was restricted to piecewise constant traction and brake force. They suggested a discrete dynamic programming (DDP) method for solution. In 2000, Khmelnitsky [
1] developed a model that covered variable altitude, variable speed limit, continuous traction control, arbitrary maximum tractive and brake force depending on speed, quadratic train resistance with respect to speed, and exclusively regenerative braking. Regarding this features, it is a broadly applicable approach with little restrictions. Due to this advantages, the algorithm of Khmelnitsky has been chosen as the basis for our research. In a recent article by Ying et al. [
19], the EETC problem solved by Khmelnitsky has been revisited, with a special focus on solutions touching the speed limit. The paper of Ying et al. [
19] can be especially recommended for its comprehensive illustration of the large variety of cases that can arise during construction of the optimum solution. The EETC problem with prescribed nonzero speed boundary conditions was solved by Ying et al. [
20].
There are relatively few research contributions dealing with the EETC problem using combined mechanical and regenerative braking. Baranov, Meleshin, and Chin’ [
21] were the first considering this topic, but an algorithm to solve the problem was left as an open question in their article. Lu et al. [
22] studied combined mechanical and regenerative braking, but excluded both variable speed limit and variable track gradients. Zhou et al. [
23] studied synchronisation of accelerating and braking trains, considering both kinds of braking, but again did not include variable speed limit. FernándezRodríguez et al. [
24] combined both brake systems in a multiobjective optimisation method, but did not derive a rigorous energy minimum. In the paper of Scheepmaker and Goverde [
25], the optimisation problem with combined mechanical and regenerative braking was solved for the first time under general assumptions, i.e., with speed dependent tractive and brake effort, variable speed limit, and variable altitude. Scheepmaker and Goverde have used the GaussRadau pseudospectral method implemented in GPOPS [
26] to solve the optimal control problem.
Several authors have considered advanced efficiency modelling, in particular efficiency depending on speed, tractive, and brake force. This assumption is more realistic but substantially complicates the approach. Most notably, the optimal trajectory for this problem is no more restricted to the driving regimes of full traction, constant speed, coasting, and full brake. Therefore, other methods than PMP techniques are used in this case, in particular track length discretisation combined with nonlinear programming. Research on advanced efficiency modelling was carried out, e.g., by Franke, Terwiesch, and Meyer [
4], Ghaviha et al. [
27], Kouzoupis et al. [
28], and Feng, Huang, and Lu [
29].
Multiple train problems have often been studied with a focus on timetable design in order to synchronise accelerating and braking trains for best distribution of regenerative energy. See, for example, Zhou et al. [
23] for research on this topic. More references can be found in Scheepmaker and Goverde [
25]. Szkopiński and Kochan [
30] have studied energyefficient train driving when approaching a train on the track ahead.
Apart from the many research contributions based on an application of Pontryagin’s maximum principle, a variety of other methods exist to solve the EETC problem. In particular, socalled
direct methods have recently gained attention. They are characterised by the fact that the problem is first discretised, usually by dividing the track length into smaller intervals. The resulting nonlinear programming (NLP) problem is then solved by nonlinear programming methods as, for example, the pseudospectral one. Wang et al. [
31] were the first to apply the pseudospectral method to an EETC problem. Scheepmaker and Goverde [
25] also utilised a pseudospectral approach. Direct methods have the advantage of being very flexible with respect to the problem under consideration. In addition, optimal control solvers like DIDO (Direct and Indirect Dynamic Optimization) [
32,
33], PSOPT [
34], or GPOPS (General Pseudospectral Optimal Control Software) [
26] are readily available. The implementation is much easier than a solution of the problem along the lines of Pontryagin’s maximum principle. On the other hand, the pseudospectral method often shows an inaccurate oscillatory behaviour of solutions, and it tends to be time consuming. [
28] Recently, Kouzoupis et al. [
28] were able to reduce the computing time of a direct method using multiple shooting.
Based on the abovementioned approach of Khmelnitsky [
1], a programme called
opTop (optimum train operation) has been developed at Fraunhofer Institute for Factory Operation and Automation (IFF), Magdeburg, Germany. The code is written in MATLAB and currently features energy minimisation with exclusively regenerative braking, except for fastest train motion in the case of tight timetables where additional mechanical braking is considered. The choice of Khmelnitsky’s method was mainly motivated by superior accuracy at an acceptable computing time. An extension of the code to fully include mechanical braking into the optimisation is subject to further development, as well as nonzero speed boundary conditions and smooth switching from fastest to energyefficient driving in case of a train delay. The code has been tested offline in numerous cases based on real railway tracks and timetables, and computing time has been substantially reduced by code optimisation. A couple of tests with driver advisory in reallife operation have shown energy savings of about 20 % compared to an average of unassisted runs.
The present article was driven by two main motivations. The first one was to show a direct derivation of Khmelnitsky’s theory from a more general formulation of Pontryagin’s maximum principle given by Hartl, Sethi, and Vickson [
35]. By seeing Khmelnitsky’s theory in this general framework, extensions to other conditions could be elaborated. A second motivation was to provide a comprehensive illustration of the behaviour of the method of Khmelnitsky using a couple of numerical examples. We have felt that this very useful method would strongly benefit from some illustrative examples that show the behaviour of the trajectory field including kink points as well as the large variety of switching cases from one driving regime to another. We have, therefore, put a strong focus on the examples in
Section 2.4 and
Section 2.5, in which most of the possible switching cases can be studied in detail.
The article is structured in the following way: In
Section 2.1, the model of train motion is introduced.
Section 2.2 is devoted to the Pontryagin maximum principle that provides a couple of necessary conditions the energy minimising solution has to fulfil. In
Section 2.3, the maximum principle is applied to the specific minimum energy problem for train motion. This leads to the observation that only four driving regimes
full traction,
constant speed,
coasting, and
full regenerative braking are feasible for an energy minimising motion. The regime
constant speed can be driven only at two specific velocities or at speed limit.
Section 2.4 and
Section 2.5 describe the algorithm of Khmelnitsky [
1] for the construction of the minimum energy solution. A complete list of switching cases is given and explained in
Section 2.4, and four numerical examples are introduced to illustrate those cases. Some directions are given that lead to a substantial reduction of computing time. Finally, in
Section 3, the energy optimum is compared to energy consumption of various train runs on a specific railway line in reallife operation. As a result, the optimal strategy consumed only 63 % of the average energy demand of the unassisted runs in real operation.
2. Materials and methods
2.1. Model of train motion
The equation of motion of a train with an electric engine and both regenerative and mechanical brake can be given by
where
${F}_{\mathrm{tr}}$ is tractive force,
${F}_{\mathrm{br}}$ is the force applied by the regenerative brake,
${F}_{\mathrm{mbr}}$ is the force of the mechanical brake,
${F}_{\mathrm{air}}$ is air drag,
${F}_{\mathrm{roll}}$ is rolling friction,
${F}_{\mathrm{sl}}$ is the downhill slope force,
${c}_{\mathrm{rot}}$ is a coefficient representing rotating masses,
m is the mass and
a the acceleration of the train. This is Newton’s second law of motion with the extension that rotating masses as, for example, the wheels of the train, are accounted for by a factor
${c}_{\mathrm{rot}}$. A model of this type is commonly be used for train motion, see for example the review article of Scheepmaker, Goverde, and Kroon [
10] or the textbook of Ihme [
36]. According to Ihme [
36],
${c}_{\mathrm{rot}}=1.06\cdots 1.11$ for passenger trains, depending on their length, where longer trains will generally have smaller values of
${c}_{\mathrm{rot}}$.
The tractive force
${F}_{\mathrm{tr}}$ is limited by both engine power and rail friction (adhesion). According to Fassbinder [
37],
where
${P}_{\mathrm{tr},\mathrm{mech}}$ is the mechanical engine power used for traction,
v is the velocity of the train,
${\mu}_{\mathrm{ad}}$ is the adhesion coefficient,
g is gravity, and
${m}_{\mathrm{loc}}$ the mass of the locomotive. The adhesion coefficient
${\mu}_{\mathrm{ad}}$ has been obtained experimentally in 1943 by Curtius and Kniffler [
38], see, e.g., Schlecht [
39], leading to the empirical relation
The adhesion coefficient ${\mu}_{\mathrm{ad}}$ attains a maximum value of $0.331$ when $v=0$.
The regenerative brake force
${F}_{\mathrm{br}}$ is, as the tractive force, restricted by engine power and rail adhesion. However, it must be further limited to avoid a derailing of coaches behind the braking locomotive. Thus, for the regenerative brake force there holds
where
${P}_{\mathrm{br},\mathrm{mech}}$ is the mechanical engine power for regenerative braking, and
${F}_{\mathrm{br},\mathrm{lim}}$ is the additional limit to avoid derailing. In general,
${P}_{\mathrm{tr},\mathrm{mech}}={P}_{\mathrm{br},\mathrm{mech}}$ will hold. According to [
40], the limit force
${F}_{\mathrm{br},\mathrm{lim}}$ has been recently enlarged in Germany from
$150kN$ to
$240kN$, a value that is also considered in Scheepmaker and Goverde [
25]. The maximum forces
${F}_{\mathrm{tr},\mathrm{max}}$ and
${F}_{\mathrm{br},\mathrm{max}}$ are shown in
Figure 1.
Remark. In practical operation, regenerative braking of trains is not possible when the speed is too small, meaning that for a final halt, the mechanical brake always has to be applied. This has been pointed out by Scheepmaker and Goverde [
25], who have estimated a minimum speed of
$8km/h$ for application of regenerative braking based on data from Netherlands Railways. However, since kinetic energy below
$8km/h$ is relatively small, we have neglected this consideration in our model.
When a train brakes, using the regenerative brake is clearly advantegeous with respect to saving energy. However, the force of the regenerative brake is limited and, especially for long freight trains, much weaker than the force of the mechanical brake. This is due to the fact that regenerative braking applies only to the wheels of the locomotive, while the mechanical brake acts on every wheel of the train. If the time required by timetable is too short for a certain distance, purely regenerative braking might not be sufficient. But, as Scheepmaker and Goverde [
25] have proven by means of optimal control theory, the mechanical brake is always ‘second choice’ in an energyminimising solution. This means that mechanical braking is only applied when regenerative braking is operating at maximum force, i.e., when
${F}_{\mathrm{br}}={F}_{\mathrm{br},\mathrm{max}}$ holds. In the optimisation method presented here, the mechanical brake is not incorporated into the theory and will only be considered in the calculation of the fastest possible motion. This will be explained in more detail in the following sections.
The mechanical work applied for traction is given by
where
s is track length and
t is time. The electric energy required for traction is
The efficiency
${\eta}_{\mathrm{tr}}$ of electric locomotives is usually given in a range of 83 to 87 percent [
25,
37,
41]. Within this paper, we will use an intermediate value of
${\eta}_{\mathrm{tr}}=0.85$. Likewise, the mechanical work applied for regenerative braking is
and the electric energy returned will be
We use a braking efficiency
${\eta}_{\mathrm{br}}={\eta}_{\mathrm{tr}}=0.85$ according to Fassbinder [
37]. The difference
${E}_{\mathrm{net}}={E}_{\mathrm{tr}}{E}_{\mathrm{br}}$ is called the net energy, which should be minimised.
In real operation, additional energy ${E}_{\mathrm{add}}$ will be required that is not directly related to traction or brake, including energy for air commpression, air conditioning, lighting and so on. However, since this additional energy is mainly a function of time, it can not be reduced by a driving strategy when the total time is constant as given by the train’s timetable. Therefore, the additional energy does not enter the net energy minimisation problem and can be excluded here.
For air drag, Ihme [
36] recommends the so called
Hanover Formula that goes back to Voß, Gackenholz and Wiebels [
42]. It takes the form
with air density
${\rho}_{\mathrm{air}}=1.25kg/{m}^{3}$. In this formula,
${A}_{\mathrm{ref}}$ is
not the crosssectional area of the train, but a reference area of
$10{m}^{2}$. The air drag coefficient
${c}_{\mathrm{w}}$ is calculated according to
n being the number of coaches. Ihme [
36] gives the values
${c}_{\mathrm{w},\mathrm{loc}}=0.26$,
${c}_{\mathrm{w},\mathrm{first}}=0.13$,
${c}_{\mathrm{w},\mathrm{middle}}=0.10$,
${c}_{\mathrm{w},\mathrm{last}}=0.23$ as appropriate for Intercity coaches.
The rolling friction can be modelled by
${F}_{\mathrm{roll}}={c}_{\mathrm{roll}}\phantom{\rule{4pt}{0ex}}m\phantom{\rule{4pt}{0ex}}g$ with
${c}_{\mathrm{roll}}=0.0015$ according to Ihme [
36]. The downhill slope force is given by
where
z is the altitude of the track.
2.2. The maximum principle
The problem of minimising the net energy of a scheduled train can be formulated as an optimal control problem, as it has been proposed by Khmelnitsky [
1] who also presented an algorithm to obtain the unique net energy minimum. The algorithm of Khmelnitsky is essentially based on the maximum principle of optimal control theory that has been developed by Pontryagin, Boltyanskii, Gamkrelidze, and Mishchenko [
11,
12]. A variety of formulations of the maximum principle can be found in Hartl, Sethi, and Vickson [
35]. While some of the results of the maximum principle for the particular problem of a minimum energy train ride are already given in Khmelnitsky’s paper [
1], a direct derivation from the more general formulation of the maximum principle as presented in Hartl, Sethi and Vickson [
35] is not included in Khmelnitsky. We are, therefore, going to show this derivation here. In
Section 2.2, the maximum principle will be presented, based on the ‘Informal Theorem 4.1’ in [
35]. The subsequent
Section 2.3 contains the application to the train problem. Equipped with this general framework, extensions of the theory (for example the inclusion of the mechanical brake) are possible.
We consider the following problem: Let
s be the track length coordinate between two stations at
$s=0$ and
$s=S$. The motion of the train is described by the time
$t\left(s\right)$ it takes for the train to move from the first station to position
s. We assume
$t\left(0\right)=0$ and a fixed duration
$t\left(S\right)=T$ given by the timetable. The velocity
v of the train is restricted by a piecewise constant function
${v}_{\mathrm{max}}\left(s\right)$ that accounts for speed limits on the track. Tractive and regenerative brake force,
${F}_{\mathrm{tr}}$ and
${F}_{\mathrm{br}}$, are limited according to (
2) and (
4), respectively. The optimisation problem is to find a motion, i.e., a function
$t\left(s\right)$, that minimises the net energy
${E}_{\mathrm{net}}$.
We introduce some notation, closely following Khmelnitsky [
1]. Let
${E}_{\mathrm{kin}}={c}_{\mathrm{rot}}m{v}^{2}/2$ be the kinetic energy of the train. Dividing by
${c}_{\mathrm{rot}}m$ leads to a specific kinetic energy
limited by speed restrictions:
$K\left(s\right)\le {K}_{\mathrm{max}}\left(s\right)={\left({v}_{\mathrm{max}}\left(s\right)\right)}^{2}/2$. Likewise, a specific potential energy is defined by
A total specific mechanical energy is then given by
$E=K+P$. In the same way, specific forces are defined as
A total recuperation efficiency is given by
$\alpha ={\eta}_{\mathrm{tr}}{\eta}_{\mathrm{br}}$. The aim of minimising the net energy
${E}_{\mathrm{net}}$ is equal to maximising
With this notation, the optimisation problem can be written in the following canonical form:
state vector $\mathbf{x}=(E,t)$
control vector $\mathbf{u}=({u}_{\mathrm{tr}},{u}_{\mathrm{br}})$
state differential equations
state boundary conditions
state constraint $E\le {K}_{\mathrm{max}}+P$
control constraints $0\le {u}_{\mathrm{tr}}\le {g}_{\mathrm{tr}}$ and $0\le {u}_{\mathrm{br}}\le {g}_{\mathrm{br}}$
Remark. Further constraints could be added here, especially $0\le t\le T$ and $K\ge 0$. However, $K>0$ will always hold for the energetic optimum solution inside the intervall $(0,S)$. The condition $0\le t\le T$ follows from (21), (23), and $\left(23\right)$. Therefore, conditions $0\le t\le T$ and $K\ge 0$ need not be set explicitly as a constraint. Simultaneous traction and brake, i.e. ${u}_{\mathrm{tr}}\left(s\right)>0$ and ${u}_{\mathrm{br}}\left(s\right)>0$ for the same s, is also not explicitly prevented by a constraint since such a solution will surely not be energetically optimal.
Remark. In equation (
20), we have excluded mechanical braking. This means that, in accordance with Khmelnitsky [
1], we formulate the optimisation problem only for purely regenerative braking. An extension of the presented theory to the case with simultaneous application of both regenerative and mechanical brake is possible in a straightforward manner, and is, in a slightly different formulation, given by Scheepmaker and Goverde [
25].
Introducing the notation
we have an optimisation problem of the form given in Hartl, Sethi and Vickson [
35]:
In Hartl, Sethi, and Vickson [
35], the problem is formulated with a time
t being the independent variable instead of
s. This is due to the fact that many practical optimisation problems are formulated in a timedependent way. In our case, however, the positiondependent formulation has some advantages, especially since also the speed restriction depends on position, not on time.
The function
with Lagrange multipliers
$\lambda \left(s\right)$ is called the
Hamiltonian of problem (
31)(34). (Here and in the following,
${(\phantom{\rule{0.166667em}{0ex}}\xb7\phantom{\rule{0.166667em}{0ex}})}^{T}$ means the transposed of a column vector, i.e.
${\lambda}^{T}\mathbf{f}$ is the scalar product of vectors
$\lambda $ and
$\mathbf{f}$.) The Lagrange multipliers
$\lambda \left(s\right)$ are also called the
costates of the problem. In order to agree with the notation of Khmelnitsky [
1], we denote the costates according to
Furthermore, the
Lagrangian is introduced by
where
$\mu \left(s\right)$ and
$\nu \left(s\right)$ are also called Lagrange multipliers. The Lagrange multipliers
$\lambda \left(s\right)$,
$\mu \left(s\right)$ and
$\nu \left(s\right)$ are continuous functions in
s, except for positions
${s}_{i}$ where
$h(\mathbf{x},{s}_{i})=0$.
The ‘Informal Theorem 4.1’ of Hartl, Sethi, and Vickson [
35] states the following necessary conditions for
$(\mathbf{x},\mathbf{u})$ to be a solution of the optimisation problem (
31)(34):
The control vector
$\mathbf{u}\left(s\right)$ maximises the Hamiltonian
H pointwise for any
$s\in [0,S]$.
The
costate equation
is satisfied.
Let
${\mu}_{i}$ be the components of vector
$\mu $, and
${g}_{i}$ be the components of vector
$\mathbf{g}$. There holds
for all
i and all
$s\in [0,S]$. This is called
complementary slackness in Khmelnitsky [
1].
Another complementary slackness condition,
holds for all
$s\in [0,S]$.

The following jump condition is satisfied: At every point
${s}_{i}$ where
$\lambda $ is discontinuous, there exists a number
${\eta}_{i}$ with
Here, the argument
${s}_{i}^{}$ corresponds to the lefthand limit, and
${s}_{i}^{+}$ to the righthand limit at
${s}_{i}$. The vector equation (
43) is meant componentwise.
The Hamiltonian maximisation condition (
38) is called the
Pontryagin Maximum Principle, and equations (
39)–(
42) are referred to as the
KarushKuhnTucker (KKT) conditions [
43,
44]. In Hartl, Sethi, and Vickson [
35], the maximum principle is presented also for the case of multiple state constraints, i.e., when
h is extended to a vector. The maximum principle does not, as we shall see, tell the solution to the energy minimisation problem directly, but it provides essential information such that a construction of the solution becomes possible in an iterative trialanderror process.
2.3. Application of the maximum principle to the energy minimisation problem
From the costate equation (
40) it follows for the second component of
$\lambda $
since
L does not depend explicitly on
t. Equation (
43) gives, again for the second vector component,
Thus, the Lagrange multiplier
${\psi}_{T}$ is a constant. Equation (
39) results in
From the costate equation (
40), first component, we have
When travelling below the speed limit, i.e.
$h>0$, then
$\nu =0$ holds due to (
42). (In Khmelnitsky’s notation,
${\mu}_{3}$ and
${\mu}_{4}$ are called
${a}_{\mathrm{tr}}$ and
${a}_{\mathrm{b}}$, respectively.) We now apply a case distinction to the multiplier
$\psi $, and evaluate
${u}_{\mathrm{tr}}$,
${u}_{\mathrm{br}}$, and the
${\mu}_{i}$ using the conditions (
38), (
41), (
48), (49), and the continuity of the multipliers. The results are given in
Table 1.
From the values given in
Table 1 it follows that, in the interior of the state domain,
${\mu}_{3}$ and
${\mu}_{4}$ can be directly expressed in terms of
$\psi $:
The cases indicated in
Table 1 are the only driving modi that are possible for the optimum solution of the problem. This means that the interval
$[0,S]$ can be completely segmented into subintervals
${S}_{i}=({s}_{i1},{s}_{i})$ with
$0={s}_{0}<{s}_{1}<\cdots <{s}_{n}=S$, where every subinterval
${S}_{i}$ corresponds to one of the drive modi
full traction,
partial traction,
coasting,
partial regenerative brake, and
full regenerative brake. The cases
full traction,
coasting, and
full regenerative brake are regular in the sense that the control variables
${u}_{\mathrm{tr}}$ and
${u}_{\mathrm{br}}$ are both defined, and therefore the equation of motion is completely given by the underlying physics. On the contrary, the modi
partial traction and
partial brake are singular, meaning that here only one control variable is defined. Therefore, they need some additional consideration. We will distinguish the following four cases:
Case 1: partial traction below speed limit. Let
${S}_{i}$ be an interval of
partial traction in the interior of the state domain, i.e., an interval where
$\psi \left(s\right)\equiv 1$ and
$v<{v}_{\mathrm{max}}$ hold. It follows
${\mu}_{3}\left(s\right)\equiv {\mu}_{4}\left(s\right)\equiv 0$ on this interval, see
Table 1. The costate equation (
50) reduces to
with
$R\left(K\right)={K}^{3/2}\frac{\mathrm{d}w}{\mathrm{d}K}$ being a known and monotonely increasing function in
K. Moreover, the function value
$R\left(K\right)$ is strictly positive for
$K>0$. Since
${\psi}_{T}$ is constant, we have
where
${R}^{1}$ stands for the inverse function of
R. This means that, for the optimal solution,
partial traction in the interior of the state domain is only possible at constant speed with
$K\left(s\right)\equiv {K}_{\mathrm{ptr}}$. From equation (
54) it follows that
${\psi}_{T}<0$ must hold.
Case 2: partial regenerative brake below speed limit. Likewise, if
${S}_{i}$ be an interval of
partial regenerative brake in the interior of the state domain, then
$\psi \left(s\right)\equiv \alpha $ and
${\mu}_{3}\left(s\right)\equiv {\mu}_{4}\left(s\right)\equiv 0$ will hold, and the costate equation now reads
Since
${\psi}_{T}$ is constant,
holds, meaning that
partial regenerative brake in the interior of the state domain is only possible at constant speed with
$K\left(s\right)\equiv {K}_{\mathrm{pbr}}$. (In Khmelnitsky [
1], the constants
${K}_{\mathrm{ptr}}$ and
${K}_{\mathrm{pbr}}$ are called
${K}_{s}$ and
${K}_{bs}$, respectively.)
Case 3: partial traction on the speed limit. Let ${S}_{i}$ be an open interval of partial traction on the speed limit. Then $\psi \left(s\right)\equiv 1$ for $s\in {S}_{i}$. Both ${u}_{\mathrm{tr}}$ and ${\mu}_{3}$ are unknown, but the equation of motion is entirely determined by the speed limit with $v\left(s\right)={v}_{\mathrm{max}}\left(s\right)$ and $K\left(s\right)={K}_{\mathrm{max}}\left(s\right)$. Since ${v}_{\mathrm{max}}$ is piecewise constant, and v can not be discontinuous, v, ${v}_{\mathrm{max}}$, K, and ${K}_{\mathrm{max}}$ must be constant in the interval ${S}_{i}$.
Case 4: partial regenerative brake on the speed limit. Likewise, if ${S}_{i}$ is an open interval of partial regenerative brake on the speed limit, then $\psi \left(s\right)\equiv \alpha $ for $s\in {S}_{i}$. Both ${u}_{\mathrm{br}}$ and ${\mu}_{4}$ are unknown in this case, but the equation of motion is again entirely determined by the speed limit with $v\left(s\right)\equiv {v}_{\mathrm{max}}$ and $K\left(s\right)\equiv {K}_{\mathrm{max}}$. Both ${v}_{\mathrm{max}}$ and ${K}_{\mathrm{max}}$ must be constant on ${S}_{i}$, using the same argument as in Case 3.
Remark. In recent literature (not in Khmelnitsky), the constant speed driving regimes are often called cruising.
2.4. The algorithm of Khmelnitsky for fixed ${\psi}_{T}$
In this section we are going to desribe the algorithm of finding a solution to the optimisation problem under the assumption that the Lagrange multiplier
${\psi}_{T}<0$ is a given number. Then,
${K}_{\mathrm{ptr}}$ and
${K}_{\mathrm{pbr}}$ are defined according to (
54) and (
56), respectively. Following Khmelnitsky [
1], we define intervals with possible constant speed that correspond to the four cases studied in
Section 2.3. In the case of constant speed,
$\mathrm{d}K/\mathrm{d}s=0$ holds, and the state differential equation (
20) takes the form
Definition 1.
A subinterval I of $[0,S]$ with
for all $s\in I$ that cannot be extended, i.e., any enlargement of the interval would violate (58), is called a PTinterval. PT stands for partial traction.
Definition 2.
A subinterval I of $[0,S]$ with
for all $s\in I$ that cannot be extended is called a PBinterval. PB stands for partial regenerative brake.
Definition 3.
A subinterval I of $[0,S]$ with
for all $s\in I$ that cannot be extended is called a PTSLinterval. PTSL stands for partial traction on speed limit.
Definition 4.
A subinterval I of $[0,S]$ with
for all $s\in I$ that cannot be extended is called a PBSLinterval. PBSL stands for partial regenerative brake on speed limit.
Intervals of type PT, PB, PTSL, and PBSL are intervals where a constant speed motion of the optimum solution would be allowed by the control constraints. Those intervals are summarised under the name
pcsintervals, meaning ‘possible constant speed’. (In Khmelnitsky [
1], PT is called
minor grade, PB is called
steep fall, PTSL is called
minor grade imitation, and PBSL is called
steep fall imitation.) Due to their definition, pcsintervals will never intersect. In this paper, the start point at
$s=0$, the pcsintervals, and the stop point at
$s=S$ are summarised under the name
ports. Additional
speed limit ports might be introduced as will be explained later. All ports are numbered in the order of increasing
s.
The optimal solution is found by connecting ports by trajectories of regular motion, namely full traction, coasting, or full regenerative brake. Below the speed limit, regular motion is governed by the differential equations
with
and
${\mu}_{3}$ and
${\mu}_{4}$ as defined in (
51) and (), respectively. Equation (
62) follows from (
20) and
Table 1, while () results from (
50). Since
u is discontinuous at
$\psi =\alpha $ and
$\psi =1$, the trajectory of
K will have a kink point whenever
$\psi $ crosses these values.
It follows from the maximum principle that if the optimal solution touches the speed limit at a position
${s}_{i}$, then
$h\left({s}_{i}\right)=0$ and
${\eta}_{i}$ might be positive by equation (45). This means for the first component of equation (
43),
i.e.,
$\psi $ might have a positive jump whenever the speed limit is attained. The height of this jump, however, is not defined in the maximum principle. It must be found by onedimensional search.
If one tries to connect the ports A and B by a trajectory of regular motion, and this trajectory violates the speed limit, then a connection from A to B is not possible by this trajectory. In this case, one looks for a connection to the speed limit itself. If a trajectory is found that touches the speed limit in a single point, a new port is inserted there. It is called a speed limit touchpoint (SLTP). Ports are now renumbered to be in the order of increasing s again. If the new speed limit touchpoint is located between the begin and the end position of a pcsinterval, then numbering is done such that the speed limit touchpoint comes first. If the speed limit touchpoint has number i, the $\psi $value of the incoming trajectory is stored as ${\psi}_{i}$. At the speed limit touchpoint, $\psi $ is allowed to have a positive jump. A connection of ports in order to construct the optimal solution is only allowed in the direction of increasing port numbers.
When a trajectory of regular motion leaves a port, it is called a takeoff, when it arrives at a port, it is called a landing. When trying to connect a port A with a port B by a trajectory of regular motion, there is always one of the variables s, K, and $\psi $ not fixed at both takeoff and landing. These variables can be adjusted to make the connection possible. The following cases of takeoff and landing can exist:
(T1): takeoff from the start point at $s=0$ with $K=0$. The value of $\psi $ is not fixed, but must be greater than 1 since full traction is applied.
(T2): takeoff from interval of type PT with $K={K}_{\mathrm{ptr}}$ and $\psi =1\pm \u03f5$, with some small $\u03f5>0$. Since $\mathrm{d}K/\mathrm{d}s$ is discontinuous at $\psi =1$, the trajectories of K will leave in different directions depending on the choice of $\psi $ slightly above or below 1, so both must be checked. The takeoff position s is not fixed.
(T3): takeoff from interval of type PB with $K={K}_{\mathrm{pbr}}$ and $\psi =\alpha \pm \u03f5$, again with some small $\u03f5>0$. The takeoff position s is not fixed.
(T4): takeoff from interior of a PTSL interval with $K={K}_{\mathrm{max}}$ and $\psi =1$. The takeoff position s is not fixed.
(T5): takeoff from the end of a PTSL interval with $K={K}_{\mathrm{max}}$ and $\psi \ge 1$, since a jump in $\psi $ is allowed here.
(T6): takeoff from interior of a PBSL interval with $K={K}_{\mathrm{max}}$ and $\psi =\alpha $. The takeoff position s is not fixed.
(T7): takeoff from the end of a PBSL interval with $K={K}_{\mathrm{max}}$ and $\psi \ge \alpha $, since a jump in $\psi $ is allowed here.
(T8): takeoff from an SLTP with number i: start with $K={K}_{\mathrm{max}}$ and $\psi \ge {\psi}_{i}$, since a jump in $\psi $ is allowed here.
(L1): landing on PT interval with $K={K}_{\mathrm{ptr}}$ and $\psi =1$. The landing position s is not fixed.
(L2): landing on PB interval with $K={K}_{\mathrm{pbr}}$ and $\psi =\alpha $. The landing position s is not fixed.
(L3): landing on the start of a PTSL interval with $K={K}_{\mathrm{max}}$ and $\psi <1$. Then, a new speed limit touchpoint is inserted at the landing position, is connected with the PTSL interval, and port renumbering is done such that the new speed limit touchpoint comes before the PTSL interval. If the new speed limit touchpoint has number i, the $\psi $value of the incoming trajectory is stored as ${\psi}_{i}$.
(L4): landing on the start of a PTSL interval with $K={K}_{\mathrm{max}}$ and $\psi =1$. Since any jump of $\psi $ here would lead to full traction, it would violate the speed limit. Therefore, no new speed limit touchpoint is inserted.
(L5): landing on the interior of a PTSL interval with $K={K}_{\mathrm{max}}$ and $\psi =1$. The landing position s is not fixed.
(L6): landing on the start of a PBSL interval with $K={K}_{\mathrm{max}}$ and $\psi <\alpha $. Then, a new speed limit touchpoint is inserted at the landing position, is connected with the PBSL interval, and port renumbering is done such that the new speed limit touchpoint comes before the PBSL interval. If the new speed limit touchpoint has number i, the $\psi $value of the incoming trajectory is stored as ${\psi}_{i}$.
(L7): landing on the start of a PBSL interval with $K={K}_{\mathrm{max}}$ and $\psi =\alpha $. Since any jump of $\psi $ here would lead to coasting, it would violate the speed limit. Therefore, no new speed limit touchpoint is inserted.
(L8): landing on the interior of a PBSL interval with $K={K}_{\mathrm{max}}$ and $\psi =\alpha $. The landing position s is not fixed.
(L9): landing on an SLTP with $K={K}_{\mathrm{max}}$. The $\psi $value of the incoming trajectory is stored, and $\psi $ is allowed to jump here.
(L10): landing on the end point at $s=S$ with $K=0$. The value of $\psi $ is not fixed.
The construction of an optimal solution is best illustrated using a numerical example.
Example 1. A train is driven from Station A at
$s=0$ to Station B at
$s=S=20km$. The altitude is given by
$z=40m\phantom{\rule{0.166667em}{0ex}}\xb7\phantom{\rule{0.166667em}{0ex}}sin(s/\mathrm{km})+100m$, see
Figure 2. Parameters are set according to
Table 2.
In Example 1, no speed limit is assumed, and we consider the case
${\psi}_{T}=1$. Equations (
54) and (
56) lead to
${K}_{\mathrm{ptr}}=536{m}^{2}/{s}^{2}$ and
${K}_{\mathrm{pbr}}=665{m}^{2}/{s}^{2}$.
Figure 3 shows the pcsintervals calculated with equations (
58) to (
61), together with the kinetic energy of fastest motion. In our example, this leads to the exclusion of the first PTintervall since it cannot be reached.
The first step in connecting ports would be the takeoff from the start point at
$s=0$. This is takeoff case (T1). The trajectories of
K and
$\psi $ are calculated according to equations (
62) and (63). Different values of
$\psi $ at
$s=0$ lead to different trajectories that are shown in
Figure 4 and
Figure 5. When the
$\psi $trajectory crosses the value 1, full traction changes to coasting, and the corresponding
Ktrajectory has a kink point. When the
$\psi $trajectory crosses the value
$\alpha ={\eta}_{\mathrm{tr}}{\eta}_{\mathrm{br}}=0.7225$, coasting changes to full regenerative brake, and the corresponding
Ktrajectory has a kink point again. The blue line marks the only trajectory that would land on the PBinterval with number 2 (landing case (L2)). It is found by iterative bisection of the
$\psi $values at
$s=0$.
Figure 6 and
Figure 7 show the takeoff from the PTinterval number 3. This is takeoff case (T2). On the interval, the trajectories show an unstable behaviour with respect to
$\psi $. If
$\psi $ is slightly above the value of 1, both
K and
$\psi $ will move upwards. If
$\psi $ is slightly below the value of 1, both
K and
$\psi $ will move downwards. Note that
$\psi $ takes off tangentially on the entire interval while
K does so only from the ends of the interval. Close to the right end of the interval, the upwards moving
K and
$\psi $trajectories will soon turn downwards, and by that change the driving modus from full traction to coasting. This is a typical picture for takeoff from PT and PBintervals.
Figure 8 and
Figure 9 show the
K and
$\psi $trajectories when trying to connect intervals 4 and 8. The
Ktrajectories have a kink point when the driving modus changes from coasting to full traction or full regenerative brake, corresponding to
$\psi $ crossing the values 1 or
$\alpha $. Both the
K and
$\psi $trajectories are able to cross pcsintervals, but the trajectory field often splits at pcsintervals, as here at interval 7, where a shadowed region lies behind that cannot be reached by the trajectories.
Remark. There is great potential for speedingup the algorithm by detection of those shadowed regions. For example, one can conclude immediately from
Figure 4 that interval 3 cannot be reached from starting point 1, and from
Figure 8 that interval 9 cannot be reached from interval 4. When solving the optimisation problem, it will always payoff to invest into good statistics, showing which connections should be checked and which ones can safely be excluded.
Example 2. We consider Example 1, but now with a speed limit according to
Table 3.
The multiplier
${\psi}_{T}$ is again set to
$1$.
Figure 10,
Figure 11 and
Figure 12 show that all types of pcsintervals occur. The speed limit touchpoints 4, 10, and 14 have been inserted during the run of the algorithm.
Table 4 shows the possible port connections in Example 2.
It has been shown by Khmelnitsky [
1] that there exists always exactly one connection from the start point (1) to the stop point (here 17). In Example 2, this is the connection
$1\to 2\to 4\to 5\to 9\to 10\to 11\to 13\to 14\to 15\to 17$. The total time
$\tilde{T}$ required on this connection is not known a priori, but can be calculated from the
Kcurve. Since
$K={v}^{2}/2$ is the specific kinetic energy,
holds.
Remark. Here, we distinguish between the scheduled time
T, and the time
$\tilde{T}$ that is evaluated from the algorithm. The final goal of the algorithm is to match
$\tilde{T}$ to the prescribed
T by variation of
${\psi}_{T}$. This will be explained in
Section 2.5.
Example 3. We consider Example 2, but now with
${\psi}_{T}=0.3$. Trajectories of
K and
$\psi $ are illustrated in
Figure 13 and
Figure 14, respectively.
2.5. The algorithm of Khmelnitsky: variation of the multiplier ${\psi}_{T}$
Khmelnitsky [
1] has shown that the time
$\tilde{T}$ between two stops of the train is a strictly monotonously increasing function of the Lagrange multiplier
${\psi}_{T}$. Moreover,
${\psi}_{T}<0$ and
hold. Therefore, whenever the scheduled time
T is possible to be driven on a track section by a particular train, it can be approached by the optimisation algorithm by adjusting
${\psi}_{T}$ with iterative bisection. The complete algorithm for the minimum energy operation would read as follows:
Consider a track section with stops at $s=0$ and $s=S$ to be driven in a scheduled duration T.
Step 1: Calculate the fastest possible motion on the track section with purely regenerative braking. If the time $\tilde{T}$ needed for that is larger than the scheduled time T, add mechanical braking and leave the algorithm. If $\tilde{T}<T$, choose an arbitrary negative value for ${\psi}_{T}$ and proceed the algorithm with Step 2.
Step 2: Calculate
${K}_{\mathrm{ptr}}$ by (
54),
${K}_{\mathrm{pbr}}$ by (
56), and evaluate the pcsintervals PT, PB, PTSL, PBSL by (
58)–(
61). Skip pcsintervals that cannot be reached by fastest motion. Numerate the ports, i.e., the remaining pcsintervals, the start at
$s=0$, and the stop at
$s=S$, in the order of ascending
s.
Step 3: Try to connect ports by regular motion with equations (
62) and (). Use one of the takeoff cases (T1)–(T8) and one of the landing cases (L1)–(L10). Add speed limit touchpoints if necessary, according to the instructions given above. Step 3 is complete when a connection from the start point at
$s=0$ to the stop point
$s=S$ has been found.
Step 4: Calculate
$\tilde{T}$ according to (
66). If
$\tilde{T}$ is sufficiently close to
T, the algorithm is successfully completed. If not, adjust
${\psi}_{T}$ and proceed with Step 2.
If n is the number of ports then a maximum of $\left(\begin{array}{c}n\\ 2\end{array}\right)=({n}^{2}n)/2$ possible connections has to be checked, unless the startstop connection is found earlier. This means that the number of possible connections grows quadratically with n. The algorithm can be seen as a search tree, with port connections being the branches of the tree that need to be checked. Therefore, it is crucial to follow a clever search strategy to keep computing time at an acceptable level. We mention four important measures that dramatically shortened computing time when the code was developed:
Parallel path exclusion. Khmelnitsky [
1] has shown that any two ports can only be connected by a at most one path. Therefore, it is wise to exclude all parallel paths in the search tree. For example, if a connection
$1\to 2\to 3$ has been established, the parallel direct link
$1\to 3$ is not possible and need not be checked.
Start from the treetop. When choosing the next connection to check for in Step 3, start at the highest port number that is connected to port 1 and not a known dead end. This strategy usually leads to an early discovery of the startstop connection.
Look out for shadowed ports. If ports lie in shadow, exclude impossible connections. See the remark in the discussion of Example 1 in
Section 2.3.
Estimate ${\psi}_{T}$ by interpolation. The adjustment of ${\psi}_{T}$ in Step 4 can be sped up using interpolation techniques.
Example 4. Example 4 is equal to Examples 2 and 3, except that ${\psi}_{T}$ is not prescribed, and T is set to 16 minutes.
Applying the algorithm,
${\psi}_{T}$ converges to
$0.5237$. The final
K and
$\psi $trajectories are shown in
Figure 15 and
Figure 16.
Connections and type of takeoff and landing are given for the final value
${\psi}_{T}=0.5237$ in
Table 6.
In
Figure 17 and
Figure 18, speed and electric energy are shown for Example 4 at
${\psi}_{T}=0.5237$.
Figure 1.
Maximum force for traction and regenerative brake.
Figure 1.
Maximum force for traction and regenerative brake.
Figure 2.
Track altitude in Example 1.
Figure 2.
Track altitude in Example 1.
Figure 3.
Example 1: pcsintervals PT and PB, fastest motion, and numbering.
Figure 3.
Example 1: pcsintervals PT and PB, fastest motion, and numbering.
Figure 4.
Example 1: Ktrajectories starting from $s=0$ (port 1) for various values of $\psi $ at $s=0$. Trajectories change from full traction to coasting and then to full regenerative braking. The blue trajectory connects port 1 with port 2.
Figure 4.
Example 1: Ktrajectories starting from $s=0$ (port 1) for various values of $\psi $ at $s=0$. Trajectories change from full traction to coasting and then to full regenerative braking. The blue trajectory connects port 1 with port 2.
Figure 5.
Example 1: $\psi $trajectories starting from $s=0$ (port 1) for various values of $\psi $ at $s=0$. Trajectories change from full traction to coasting and then to full regenerative braking. The blue trajectory connects port 1 with port 2.
Figure 5.
Example 1: $\psi $trajectories starting from $s=0$ (port 1) for various values of $\psi $ at $s=0$. Trajectories change from full traction to coasting and then to full regenerative braking. The blue trajectory connects port 1 with port 2.
Figure 6.
Example 1: Ktrajectories starting from PTinterval with number 3.
Figure 6.
Example 1: Ktrajectories starting from PTinterval with number 3.
Figure 7.
Example 1: $\psi $trajectories starting from PTinterval with number 3.
Figure 7.
Example 1: $\psi $trajectories starting from PTinterval with number 3.
Figure 8.
Example 1: Ktrajectories starting from interval 4, heading for interval 8.
Figure 8.
Example 1: Ktrajectories starting from interval 4, heading for interval 8.
Figure 9.
Example 1: $\psi $trajectories starting from interval 4, heading for interval 8.
Figure 9.
Example 1: $\psi $trajectories starting from interval 4, heading for interval 8.
Figure 10.
Example 2: Ktrajectories.
Figure 10.
Example 2: Ktrajectories.
Figure 11.
Example 2: $\psi $trajectories.
Figure 11.
Example 2: $\psi $trajectories.
Figure 12.
Example 2: zoom into $\psi $trajectories.
Figure 12.
Example 2: zoom into $\psi $trajectories.
Figure 13.
Example 3: Ktrajectories.
Figure 13.
Example 3: Ktrajectories.
Figure 14.
Example 3: $\psi $trajectories.
Figure 14.
Example 3: $\psi $trajectories.
Figure 15.
Example 4: Ktrajectories.
Figure 15.
Example 4: Ktrajectories.
Figure 16.
Example 4: $\psi $trajectories.
Figure 16.
Example 4: $\psi $trajectories.
Figure 17.
Example 4: train speed.
Figure 17.
Example 4: train speed.
Figure 18.
Example 4: net electric energy.
Figure 18.
Example 4: net electric energy.
Figure 19.
Total energy demand ${E}_{\mathrm{tot}}$ over reference time T for track section 1.
Figure 19.
Total energy demand ${E}_{\mathrm{tot}}$ over reference time T for track section 1.
Figure 20.
Total energy demand ${E}_{\mathrm{tot}}$ over reference time T for track section 2.
Figure 20.
Total energy demand ${E}_{\mathrm{tot}}$ over reference time T for track section 2.
Figure 21.
Total energy demand ${E}_{\mathrm{tot}}$ over reference time T for track section 3.
Figure 21.
Total energy demand ${E}_{\mathrm{tot}}$ over reference time T for track section 3.
Figure 22.
Total energy demand ${E}_{\mathrm{tot}}$ over reference time T for track section 4.
Figure 22.
Total energy demand ${E}_{\mathrm{tot}}$ over reference time T for track section 4.
Figure 23.
Energy ratio ${\eta}_{i}$ for each run, shown in descending order.
Figure 23.
Energy ratio ${\eta}_{i}$ for each run, shown in descending order.
Table 1.
Case distinction for $\psi $. ‘cont.’ means that the continuity of the Lagrange multipliers has been exploited. The corresponding value is only valid in the interior of the state domain, i.e., when $v<{v}_{\mathrm{max}}$.
Table 1.
Case distinction for $\psi $. ‘cont.’ means that the continuity of the Lagrange multipliers has been exploited. The corresponding value is only valid in the interior of the state domain, i.e., when $v<{v}_{\mathrm{max}}$.
case 
${\mathit{u}}_{\mathbf{tr}}=$ 
${\mathit{u}}_{\mathbf{br}}=$ 
${\mathit{\mu}}_{1}=$ 
${\mathit{\mu}}_{2}=$ 
${\mathit{\mu}}_{3}=$ 
${\mathit{\mu}}_{4}=$ 
$\psi >1$ 
${g}_{\mathrm{tr}}$ 
0 
0 
$\psi \alpha $ 
$\psi 1$ 
0 
(full traction) 
(38) 
(38) 
(41) 
(49) 
(48) 
(41) 
$\psi =1$ 
− 
0 
0 
$1\alpha $ 
0 
0 
(partial traction) 

(38) 
cont. 
(49) 
cont. 
(41) 
$\alpha <\psi <1$ 
0 
0 
$1\psi $ 
$\psi \alpha $ 
0 
0 
(coasting) 
(38) 
(38) 
(48) 
(41) 
(41) 
(41) 
$\psi =\alpha $ 
0 
− 
$1\alpha $ 
0 
0 
0 
(partial reg. brake) 
(38) 

(48) 
cont. 
(41) 
cont. 
$\psi <\alpha $ 
0 
${g}_{\mathrm{br}}$ 
$1\psi $ 
0 
0 
$\alpha \psi $ 
(full reg. brake) 
(38) 
(38) 
(48) 
(41) 
(41) 
(49) 
Table 2.
Parameters of Example 1.
Table 2.
Parameters of Example 1.
parameter 
symbol 
value 
number of coaches 
n 
6 
mass of locomotive 
${m}_{\mathrm{loc}}$ 
$84t$ 
total mass of train 
m 
$414t$ 
engine efficiency 
${\eta}_{\mathrm{tr}}$ 
$0.85$ 
efficiency of regenerative brake 
${\eta}_{\mathrm{br}}$ 
$0.85$ 
max. mechanical power for traction 
${P}_{\mathrm{tr},\mathrm{mech}}$ 
$5.6MW$ 
max. mechanical power for regenerative brake 
${P}_{\mathrm{br},\mathrm{mech}}$ 
$5.6MW$ 
max. force of regenerative brake 
${F}_{\mathrm{br},\mathrm{lim}}$ 
$240kN$ 
air drag coefficient for locomotive 
${c}_{\mathrm{w},\mathrm{loc}}$ 
$0.26$ 
air drag coefficient for first coach 
${c}_{\mathrm{w},\mathrm{first}}$ 
$0.13$ 
air drag coefficient for middle coaches 
${c}_{\mathrm{w},\mathrm{middle}}$ 
$0.10$ 
air drag coefficient for last coach 
${c}_{\mathrm{w},\mathrm{last}}$ 
$0.23$ 
rolling friction coefficient 
${c}_{\mathrm{roll}}$ 
$0.0015$ 
coefficient accounting for rotating masses 
${c}_{\mathrm{rot}}$ 
$1.08$ 
Table 3.
Speed limits in Example 2.
Table 3.
Speed limits in Example 2.
from position s [km] 
to position s [km] 
max. speed ${\mathit{v}}_{\mathbf{max}}$ [km/h] 
0 
5.5 
160 
5.5 
7.0 
110 
7.0 
9.6 
150 
9.6 
12.0 
105 
12.0 
20.0 
140 
Table 4.
Port connections in Example 2.
Table 4.
Port connections in Example 2.
port connection 
takeoff and landing type 
remark 
$1\to 2$ 
(T1), (L2) 
K has kink point when full traction changes to coasting. 
$2\to 4\to 5$ 
(T3), (L3) 
New SLTP 4 included, connected to 5, $\psi $ jumps at 4. 
$5\to 6$ 
(T5), (L5) 
$\psi $ jumps at end of 5. 
$5\to 9$ 
(T5), (L4) 
$\psi $ jumps at end of 5. Since $\psi =1$ at the beginning of interval 9, no new speed limit touchpoint is included. 
$6\to 7$ 
(T5), (L1) 
$\psi $ jumps at end of 6. 
$9\to 10\to 11$ 
(T7), (L3) 
A connection with constant speed, but with a jump of $\psi $ at new SLTP 10, which is connected to 11. 
$11\to 12$ 
(T5), (L1) 
$\psi $ jumps at end of 11. 
$11\to 13$ 
(T5), (L2) 
$\psi $ jumps at end of 11. Same Ktrajectory as $11\to 12$ at the beginning, but then change to coasting. 
$13\to 14$ 
(T3), (L9) 
Landing at newly included SLTP 14. 
$14\to 15$ 
(T8), (L1) 
Takeoff from SLTP 14 with $\psi $jump. 
$15\to 16$ 
(T2), (L1) 
Full traction. 
$15\to 17$ 
(T2), (L10) 
Coasting to stop. 
Table 5.
Port connections in Example 3.
Table 5.
Port connections in Example 3.
port connection 
takeoff and landing type 
remark 
$1\to 2$ 
(T1), (L1) 

$1\to 3$ 
(T1), (L2) 
Ktrajectories of $1\to 2$ and $1\to 3$ coincide at the beginning. 
$3\to 4$ 
(T3), (L9) 
New SLTP 4 is inside the srange of interval 5. SLTP 4 needs to come first in numbering. 
$4\to 5$ 
(T8), (L1) 
$\psi $ jumps at SLTP 4. 
$5\to 6$ 
(T2), (L2) 

$6\to 7$ 
(T3), (L9) 
SLTP 7 is inserted, lying exactly between intervals 6 and 8. 
$7\to 8$ 
(T8), (L1) 
$\psi $ jumps at SLTP 7. 
$8\to 9$ 
(T2), (L2) 

$8\to 10$ 
(T2), (L1) 
Trajectory is close to speed limit but does not touch. 
$10\to 11$ 
(T2), (L10) 
Coasting to stop. 
Table 6.
Port connections in Example 4 at final value ${\psi}_{T}=0.5237$.
Table 6.
Port connections in Example 4 at final value ${\psi}_{T}=0.5237$.
port connection 
takeoff and landing type 
remark 
$1\to 2$ 
(T1), (L2) 

$2\to 3$ 
(T3), (L9) 
New SLTP 3 is inside the srange of interval 4. The SLTP 3 needs to come first in numbering. 
$3\to 4$ 
(T8), (L1) 
$\psi $ jumps at SLTP 3. 
$4\to 5$ 
(T2), (L2) 

$4\to 6$ 
(T2), (L7) 
Landing on start of interval 6 with $\psi =\alpha $. Any jump of $\psi $ here would lead to coasting and violate speed limit. Therefore, no new speed limit touchpoint is inserted. 
$6\to 7$ 
(T7), (L1) 
$\psi $ jumps at end of PBSL 6. 
$7\to 8$ 
(T2), (L2) 

$7\to 9$ 
(T2), (L9) 
New SLTP 9 is exactly between intervals 8 and 10. 
$9\to 10$ 
(T8), (L1) 
Takeoff from SLTP 9. 
$10\to 11$ 
(T2), (L10) 
Coasting and finally full regenerative braking to stop. 