Subway ride

From mintOC
Revision as of 18:27, 21 November 2010 by SebastianSager (Talk | contribs) (Table)

Jump to: navigation, search
Subway ride
State dimension: 1
Differential states: 2
Discrete control functions: 1
Interior point equalities: 4


The subway ride optimal control problem goes back to work of <bibref>Bock1982</bibref> for the city of New York. In an extension, also velocity limits that lead to path-constrained arcs appear. The aim is to minimize the energy used for a subway ride from one station to another, taking into account boundary conditions and a restriction on the time.

Mathematical formulation

The MIOCP reads as


\begin{array}{llcl}
 \displaystyle \min_{x, w} & & & \int_{0}^{t_f} L(x, w) \; \mathrm{d} t   \\[1.5ex]
 \mbox{s.t.} & \dot{x}_0(t) & = & x_1(t), \\
 & \dot{x}_1(t) & = & f_1(x,w),  \\
 & x(0) &=& (0, 0)^T, \\
 & x(t_f) &=& (2112, 0)^T, \\
 & w(t) &\in&  \{1, 2, 3, 4\}, \quad t \in [0, t_f].
\end{array}

The terminal time t_f=65 denotes the time of arrival of a subway train in the next station. The differential states x_0(\cdot) and x_1(\cdot) describe position and velocity of the train, respectively. The train can be operated in one of four different modes, w(\cdot) = 1 series, w(\cdot) = 2 parallel, w(\cdot) = 3 coasting, or w(\cdot) = 4 braking that accelerate or decelerate the train and have different energy consumption.

Acceleration and energy comsumption are velocity-dependent. Hence, we will need switching functions \sigma_i( x_1 ) = v_i - x_1 for given velocities v_i, i=1..3.

The Lagrange term reads as


\begin{array}{rcl}
L(x, 1) &=& \left\{ \begin{array}{cl} e \; p_1 & \mbox{if } \sigma_1 \ge 0 \\ e \; p_2 & \mbox{else if } \sigma_2 \ge 0 \\ e \;  \sum_{i=0}^{5} c_i (1) \left( \frac{1}{10} \gamma\ x_1 \right)^{-i} \quad & \mbox{else}  \end{array} \right. \\
L(x, 2) &=& \left\{ \begin{array}{cl} \infty &  \mbox{if } \sigma_2 \ge 0\\ e \; p_3 &  \mbox{else if } \sigma_3 \ge 0 \\ 
e \; \sum_{i=0}^{5} c_i (2) \left( \frac{1}{10} \gamma\ x_1 - 1 \right)^{-i} & \mbox{else} \end{array} \right. \\
L(x, 3) &=& L(x, 4) = 0.
\end{array}

The right hand side function f_1(x,w) reads as


\begin{array}{rcl}
f_1(x, 1) &=& \left\{ \begin{array}{cl} f_1^{1A} := \frac{g \; e \; a_1}{W_{\mathrm{eff}}} & \mbox{if } \sigma_1 \ge 0 \\ f_1^{1B} :=\frac{g \; e \; a_2}{W_{\mathrm{eff}}} & \mbox{else if } \sigma_2 \ge 0 \\ f_1^{1C} := \frac{g \; (e \; T(x_1, 1) - R(x_1)}{W_{\mathrm{eff}}} & \mbox{else}  \end{array} \right. \\
f_1(x, 2) &=& \left\{ \begin{array}{cl} 0 &  \mbox{if } \sigma_2 \ge 0\\ f_1^{2B} := \frac{g \; e \; a_3}{W_{\mathrm{eff}}} &  \mbox{else if } \sigma_3 \ge 0 \\ 
f_1^{2C} := \frac{g \; (e \; T(x_1, 2) - R(x_1)}{W_{\mathrm{eff}}} & \mbox{else} \end{array} \right. \\
f_1(x, 3) &=& - \frac{g \; R(x_1)}{W_{\mathrm{eff}}}  - C, \\
f_1(x, 4) &=& - u = - u_{\mathrm{max}}.
\end{array}

The braking deceleration u(\cdot) can be varied between 0 and a given u_{\mathrm{max}}. It can be shown that only maximal braking can be optimal, hence we fixed u(\cdot) to u_{\mathrm{max}} without loss of generality.

Occurring forces are


\begin{array}{rcl}
R(x_1) &=& c a \; {\gamma}^2 {x_1}^2 + b W {\gamma} x_1 + \frac{1.3}{2000}W + 116, \\
T(x_1,1) &=& \sum_{i=0}^{5}b_i(1) \left( \frac{1}{10} {\gamma} x_1 - 0.3 \right) ^{-i}, \\
T(x_1,2) &=& \sum_{i=0}^{5}b_i(2) \left( \frac{1}{10} {\gamma} x_1 - 1 \right) ^{-i}.
\end{array}


Symbol Value Unit Symbol Value Unit
W 78000 lbs v_1 0.979474 mph
W_{\mathrm{eff}} 85200 lbs v_2 6.73211 mph
S 2112 ft v_3 14.2658 mph
S_4 700 ft v_4 22.0 mph
S_5 1200 ft v_5 24.0 mph
\gamma \frac{3600}{5280} \frac{\mbox{sec}}{\mbox{h}} / \frac{\mbox{ft}}{\mbox{mile}} a_1 6017.611205 lbs
a 100 ft^2 a_2 12348.34865 lbs
n_{\mathrm{wag}} 10 - a_3 11124.63729 lbs
b 0.045 - u_{\mathrm{max}} 4.4 ft / sec^2
C 0.367 - p_1 106.1951102 -
g 32.2 \frac{\mbox{ft}}{\mbox{sec}^2} p_2 180.9758408 -
e 1.0 - p_3 354.136479 -


Details about the derivation of this model and the assumptions made can be found in <bibref>Bock1982</bibref> or in <bibref>Kraemer-Eis1985</bibref>.

Reference Solutions

The optimal trajectory for this problem has been calculated by means of an indirect approach in <bibref>Bock1982</bibref><bibref>Kraemer-Eis1985</bibref>, and based on the direct multiple shooting method in <bibref>Sager2009</bibref>.

Variants

The given parameters have to be modified to match different parts of the track, subway train types, or amount of passengers. A minimization of travel time might also be considered.

The problem becomes more challenging, when additional point or path constraints are considered.

Point constraint

We consider the point constraint


x_1 \le v_4 \mbox{ if } x_0 = S_4

for a given distance 0 < S_4 < S and velocity v_4 > v_3. Note that the state x_0(\cdot) is strictly monotonically increasing with time, as \dot{x}_0 = x_1 > 0 for all t \in (0, T).

The optimal order of gears for S_4 = 1200 and v_4 = 22 / \gamma with the additional interior point constraints (\ref{FASOPOINTCON}) is 1, 2, 1, 3, 4, 2, 1, 3, 4. The stage lengths between switches are 2.86362, 10.722, 15.3108, 5.81821, 1.18383, 2.72451, 12.917, 5.47402, and 7.98594 with \Phi = 1.3978. For different parameters S_4 = 700 and v_4 = 22 / \gamma we obtain the gear choice 1, 2, 1, 3, 2, 1, 3, 4 and stage lengths 2.98084, 6.28428, 11.0714, 4.77575, 6.0483, 18.6081, 6.4893, and 8.74202 with \Phi = 1.32518.

Path constraint

A more practical restriction are path constraints on subsets of the track. We will consider a problem with additional path constraints


x_1 \le v_5 \; \mbox{ if } \; x_0 \ge S_5.

The additional path constraint changes the qualitative behavior of the relaxed solution. While all solutions considered this far were bang-bang and the main work consisted in finding the switching points, we now have a path-constrained arc. The optimal solutions for refined grids yield a series of monotonically decreasing objective function values, where the limit is the best value that can be approximated by an integer feasible solution. In our case we obtain 1.33108, 1.31070, 1.31058, 1.31058, ...

Source Code

Model descriptions are available in

References

<bibreferences/>