Difference between revisions of "Subway ride"

From mintOC
Jump to: navigation, search
m (Table)
m (Next table)
Line 62: Line 62:
 
</math></center>
 
</math></center>
  
 +
Details about the derivation of this model and the assumptions made can be found in <bibref>Bock1982</bibref> or in <bibref>Kraemer-Eis1985</bibref>.
 +
 +
== Parameters ==
  
 
{| border="1" align="center" cellpadding="5" cellspacing="0"
 
{| border="1" align="center" cellpadding="5" cellspacing="0"
Line 92: Line 95:
 
|}
 
|}
  
 
+
{| border="1" align="center" cellpadding="5" cellspacing="0"
Details about the derivation of this model and the assumptions made can be found in <bibref>Bock1982</bibref> or in <bibref>Kraemer-Eis1985</bibref>.
+
|- bgcolor=#c7c7c7
 +
! Parameter !! Value !! Parameter !! Value
 +
|-
 +
! b_0(1) !! -0.1983670410E02 !!  c_0(1) !! 0.3629738340E02
 +
|-
 +
! b_1(1) !! 0.1952738055E03 !! c_1(1) !! -0.2115281047E03
 +
|-
 +
! b_2(1) !! 0.2061789974E04 !! c_2(1) !! 0.7488955419E03
 +
|-
 +
! b_3(1) !! -0.7684409308E03 !! c_3(1) !! -0.9511076467E03
 +
|-
 +
! b_4(1) !! 0.2677869201E03 !! c_4(1) !!  0.5710015123E03
 +
|-
 +
! b_5(1) !! -0.3159629687E02 !! c_5(1) !! -0.1221306465E03
 +
|-
 +
! b_0(2) !! -0.1577169936E03 !! c_0(2) !! 0.4120568887E02
 +
|-
 +
! b_1(2) !! 0.3389010339E04 !! c_1(2) !! 0.3408049202E03
 +
|-
 +
! b_2(2) !! 0.6202054610E04 !! c_1(2) !! 0.3408049202E03
 +
|-
 +
! b_3(2) !! -0.4608734450E04 !! c_3(2) !! 0.8108316584E02
 +
|-
 +
! b_4(2) !! 0.2207757061E04 !! c_4(2) !! -0.5689703073E01
 +
|-
 +
! b_5(2) !! -0.3673344160E03 !! c_5(2) !! -0.2191905731E01
 +
|}
  
 
== Reference Solutions ==
 
== Reference Solutions ==

Revision as of 18:38, 21 November 2010

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}

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

Parameters

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 -
Parameter Value Parameter Value
b_0(1) -0.1983670410E02 c_0(1) 0.3629738340E02
b_1(1) 0.1952738055E03 c_1(1) -0.2115281047E03
b_2(1) 0.2061789974E04 c_2(1) 0.7488955419E03
b_3(1) -0.7684409308E03 c_3(1) -0.9511076467E03
b_4(1) 0.2677869201E03 c_4(1) 0.5710015123E03
b_5(1) -0.3159629687E02 c_5(1) -0.1221306465E03
b_0(2) -0.1577169936E03 c_0(2) 0.4120568887E02
b_1(2) 0.3389010339E04 c_1(2) 0.3408049202E03
b_2(2) 0.6202054610E04 c_1(2) 0.3408049202E03
b_3(2) -0.4608734450E04 c_3(2) 0.8108316584E02
b_4(2) 0.2207757061E04 c_4(2) -0.5689703073E01
b_5(2) -0.3673344160E03 c_5(2) -0.2191905731E01

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/>