next up previous contents

Subsections


9 Particle Steering

Minimize the time taken for a particle, acted upon by a thrust of constant magnitude, to achieve a given altitude and terminal velocity.

Formulation

The equations of motion are

\begin{displaymath}
\ddot{y}_{1} = a \cos (u), \qquad \ddot{y}_{2} = a\sin (u),
\end{displaymath} (6)

where $ ( y_{1} , y_{2} ) $ is the position of the particle, $ u $ is the control angle with

\begin{displaymath}
\vert u(t) \vert \leq \frac{\pi }{2} ,
\end{displaymath}

and $ a $ is the constant magnitude of thrust. The particle is initially at rest so that

\begin{displaymath}
y_{1}(0) = y_{2}(0) = \dot{y}_{1}(0) = \dot{y}_{2}(0) = 0 .
\end{displaymath}

The problem is to minimize the travel time $ t_f $ so that the particle achieves a given height $ y_2(t_f) $ and terminal velocity $ ( \dot y_1 (t_f) , \dot y_2 (t_f) ) $.

This is a classical (see Bryson and Ho [7, pages 59-62]) problem in dynamic optimization. We use \( a=100 \) for the magnitude of thrust and the boundary conditions [4]

\begin{displaymath}
y_{2}(t_{f}) = 5, \qquad
\dot{y}_{1}(t_{f}) = 45, \qquad
\dot{y}_{2}(t_{f}) = 0 .
\end{displaymath}

Discretization is done using a uniform time step and the trapezoidal rule for the integration of the system over \( n_h \) intervals. Data for this problem is shown in Table 9.1.



Table 9.1: Particle steering problem data
Variables \( 5 (n_h + 1) + 1 \)
Constraints \( 4 n_h \)
Bounds \( n_h+1 \)
Linear equality constraints 0
Linear inequality constraints 0
Nonlinear equality constraints \( 4 n_h \)
Nonlinear inequality constraints 0
Nonzeros in \( \nabla ^{2}f(x) \) 0
Nonzeros in \( c'(x) \) \( 20 n_h \)

Performance



Table 9.2: Performance on particle steering problem
Solver $n_h=50$ $n_h=100$ $n_h=200$ $n_h=400$
LANCELOT 30.83 s 124.62 s 412.89 s 2997.88 s
$f$ 5.54672e-01 5.54594e-01 5.54588e-01 5.54552e-01$\dagger$
$c$ violation 2.69440e-06 1.94910e-06 6.12610e-06 8.56120e-06$\dagger$
iterations 366 416 410 575
LOQO 923.3 s $\ddagger$ $\ddagger$ $\ddagger$
$f$ 5.54668e-01 $\ddagger$ $\ddagger$ $\ddagger$
$c$ violation 4.1e-10 $\ddagger$ $\ddagger$ $\ddagger$
iterations 20163 $\ddagger$ $\ddagger$ $\ddagger$
MINOS 1.58 s 5.62 s 27.86 s 143.09 s
$f$ 5.54668e-01 5.54595e-01 5.54577e-01 5.54572e-01
$c$ violation 2.5e-13 1.1e-08 2.4e-13 7.9e-10
iterations 10 15 29 60
SNOPT 3.25 s 13.43 s 53.81 s 147.37 s
$f$ 5.54668e-01 5.54595e-01 5.54577e-01 5.54573e-01
$c$ violation 5.7e-08 1.9e-09 6.8e-09 5.4e-07
iterations 36 43 42 25
$\dagger$ Errors or warnings. $\ddagger$ Timed out.

Results for the AMPL implementation are given in Table 9.2. The initial values for $ y_2 $ and $ y_3 = \dot y_ 1 $ are chosen as the functions

\begin{displaymath}
y_1(t) = 5 \left ( \frac {t}{t_f} \right ) , \qquad
y_3(t) = 45 \left ( \frac {t}{t_f}\right ) .
\end{displaymath}

Initial values for $ y_2 $, $ y_4 = \dot y_2, $ and $ u $ are set to zero. The initial value for the final time is \( t_{f}=1 \). Plots of the height $ y_2 $ and control $ u $ as a function of the horizontal position $ y_1 $ are in Figure 9.1.

Only LANCELOT returns an error here, for $n_h = 400$, of step got too small. Even so, it comes near to the optimal solution value.

Figure 9.1: Height and control as a function of position for the particle steering problem
\includegraphics[width=2.5in]{ps/steering_h.eps} \includegraphics[width=2.5in]{ps/steering_u.eps}


next up previous contents
Liz Dolan
2001-01-02