# 10 Goddard Rocket

Maximize the final altitude of a vertically launched rocket, using the thrust as a control and given the initial mass, the fuel mass, and the drag characteristics of the rocket.

## Formulation

This is a classical problem in dynamic optimization that is typical of control problems with a singular arc. See Bryson [8, pages 392-394] for background information. The equations of motion for the rocket are

 (7)

where is the altitude from the center of the earth, is the vertical velocity, is the rocket thrust, is the aerodynamic drag, is the gravitational force, and is a constant that measures the impulse of the rocket fuel. The thrust must satisfy

The drag and the gravitational force are defined by

where and are constants, and is the gravitational force at the earth's surface. The rocket is initially at rest (), and the mass at the end of the flight is a fraction of the initial mass,

where is the flight time and is a constant. In addition to the bounds on the thrust, there are bounds

on the mass, altitude, and velocity of the rocket. These bounds are a direct consequence of the equations of motion .

The equations of motion can be made dimension free by scaling the equations and choosing the model parameters in terms of , , and . We follow [8] and use

With these choices we can assume, without loss of generality, that . We also follow [8] and choose

We discretize the equations of motion with the trapezoidal rule, and a uniform mesh with intervals. Data for this problem appears in Table 10.1.

 Variables Constraints Bounds Linear equality constraints 0 Linear inequality constraints 0 Nonlinear equality constraints Nonlinear inequality constraints 0 Nonzeros in 0 Nonzeros in

## Performance

Results for the AMPL implementation are shown in Table 10.2. For starting points we use and the functions ,

evaluated at the grid points. The initial value for the thrust is .

For the rocket problem with , MINOS makes no progress, declaring it to be an unbounded (or badly scaled) problem.

 Solver LANCELOT violation iterations LOQO 3.34 s 3.38 s 4.65 s 12.42 s 1.01281e+00 1.01283e+00 1.01283e+00 1.01283e+00 violation 2.1e-10 4.5e-10 8.2e-10 7.5e-10 iterations 123 64 43 48 MINOS 1.69 s 4.48 s 1.12 s 3.93 s 1.01280e+00 1.01278e+00 9.85326e+03 6.11246e+03 violation 4.8e-13 6.1e-16 3.6e+03 1.1e+03 iterations 11 11 2 2 SNOPT 3.04 s 9.5 s 31.5 s 64.48 s 1.01281e+00 1.01280e+00 1.01281e+00 1.01238e+00 violation 1.9e-09 4.1e-08 3.5e-09 5.2e-07 iterations 37 29 43 39 Errors or warnings. Timed out.

Figure 10.1 shows the altitude and mass of the rocket as a function of time. Note that altitude increases until a maximum altitude of is reached, while the mass of the rocket steadily decreases until the final mass of is reached at .

Figure 10.2 shows the velocity and thrust as a function of time. The thrust is bang-singular-bang, with the region of singularity occurring when

This figure shows that the optimal flight path involves using maximal thrust until , and no thrust for , at which point the final mass is reached, and the rocket coasts to its maximal altitude. The oscillations that appear at the point of discontinuity in the thrust parameter can be removed by using more grid points.

Liz Dolan
2001-01-02