The use of discrete adjoints in the context of a hard time-dependent optimal control problem is considered. Gradients required
for the steepest descent method are computed by code that is generated automatically by the differentiation-enabled NAGWare
Fortran compiler. Single time steps are taped using an overloading approach. The entire evolution is reversed based on an
efficient checkpointing schedule that is computed by revolve. The feasibility of nonlinear optimization based on discrete
adjoints is supported by our numerical results.
Keywords Optimal control - adjoints - checkpointing - AD-enabled NAGWare Fortran compiler - revolve