Nonlinear Optimal Control


Textbook:

S. K. Agrawal and B. C. Fabien, Optimization of Dynamic Systems,
Kluwer Academic Publishers, 1999.
(Computer code from the book: ODS_code).

Papers:

B. C. Fabien, ``Some tools for the direct solution of optimal control problems," Advances in Engineering Software, Vol. 29, pp 45--61, 1998.

S. K. Agrawal, P. Claewplodtook and B. C. Fabien, ``Optimal trajectories of open-chain mechanical systems: A new solution procedure without Lagrange multipliers," ASME Journal of Dynamic Systems Measurement and Control, Vol. 120, pp. 134--6, 1998.

S. K. Agrawal, T. Veeraklaew and B. C. Fabien, ``Direct and indirect optimization of linear time-invariant dynamic systems
using transformations," Optimal Control Applications & Methods, Vol. 19, pp 393-410, 1998.

S. K. Agrawal, S. Li and B. C. Fabien, ``Optimal trajectories of open-chain mechanical systems: Explicit optimality equation
with multiple shooting solution," Mechanics of Structures and Machines, Vol. 25, pp. 163--77, 1997.

B. C. Fabien,  ``An extended penalty function approach to the numerical solution of optimal control problems," Optimal Control Applications & Methods, Vol. 17, 341--355, 1996.

B. C. Fabien, ``Indirect numerical solution of constrained optimal control problems with parameters," Applied Mathematics and
Computation, Vol. 80,  43--62, 1996.

B. C. Fabien, ``MSHOOT: A program for solving BVP--DAEs in optimal control," 4th IASTED International Conference in
Robotics and Manufacturing, 217--220, 1996.

B. C. Fabien, ``Numerical solution of BVP-DAE arising from optimal control,"  1995 American Control Conference}, Vol. 3, 2069--2070, 1995.

B. C. Fabien, ``Indirect solution of constrained optimal control problems,"  1995 American Control Conference}, Vol. 3, 2075--2076, 1995.

Software:

A direct solution method using a 4-th order explicit Runge-Kutta method
    and an active set sequential programming technique: dynopt

A Java implementation of a direct method: dynOpt

MSHOOT: A program for solving BVP--DAEs in optimal control: mshoot