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.
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
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
Variables | |
Constraints | |
Bounds | |
Linear equality constraints | 0 |
Linear inequality constraints | 0 |
Nonlinear equality constraints | |
Nonlinear inequality constraints | 0 |
Nonzeros in | 0 |
Nonzeros in |
Results for the AMPL implementation are shown in Table 10.2.
For starting points we use and the functions ,
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