Features

Besides being easy to use, DYNA2GAMS structure is general and allows many complex situations to be explored.

OCP Solving

  • Time models: problems can be described by continuous time model (differential equations) or discrete time model (difference equations).
  • Nonlinear path constraints (equalities or inequalities) on states and/or control variables.
  • Fixed or free final time.
  • General initial point and endpoint constraints.
  • Direct transcription methods: optimal control problems are transcribed into large but sparse nonlinear programming problems. A wide choice of numerical discretization methods are provided ranging from simple schemes (Euler and trapezoidal discretizations) to Legendre orthogonal collocation of various orders (up to 14th) with various sets of collocation points (Gauss, Radau, Lobatto...).
  • Mesh refinement: fixed mesh refinement schemes to solve the problems to the required accuracy.
  • Integral vs Differential way: for any trajectory optimization problem, the dynamics constraints can be written either in their derivative or integral forms.
  • Adjoint estimation: costate variables are made available at the end of the optimization at (almost) no extra effort.
  • Multi-phase optimal control: the user can connect phases of arbitrary length with state jumps (such as a sudden mass drop).
  • Binary and integer support: any control or parameter can be a binary or integer variable. Various state-of-the-art heuristics are proposed to efficiently solve mixed integer optimal control problems (rounding, progressive rounding, sum up rounding, progressive sum up rounding, combinatorial integral approximation).
  • Built-in parameter estimation with sampled measurements: dynamic systems can be modeled and problem coefficients and expressions can be obtained.
  • Optimization of static parameters.
  • Advanced features such as model predictive control, differential games and fractional derivative.
  • Stochastic optimal control, including Wiener process.
  • Chance constrained optimal control.

Problem Modeling

  • Compact notation: one-page formulation close to the mathematical description of the problem.
  • Rich set of algebraic functions to ease the modeling.
  • Tabulated user's functions which will be interpolated.
  • Useful functions related to the dynamic variables (delay, slope, initial, final...).
  • Dynamic systems can be described by their transfer functions (Laplace-transform and z-transform).
  • Some pre-defined transfer functions (e.g., PID).
  • Manipulation of transfer function (product, closed-loop...).
  • Embedding GAMS code for pre or post data processing.
  • Results available as CSV files.
  • Interface to GNUPLOT with functions to generate single or multi-plots in 2D or 3D.
  • Export facility to text files such as OCTAVE or MATLAB script files.
  • Extensive model libraries with well over 650 cases.
  • Hands-on tutorial: it is easy to get started!

NLP Solving

The NLP problem approximating the optimal control problem is modeled and solved in GAMS, which offers some benefits.

  • A whole bunch of solvers are available for local and global optimization.
  • Treatment of non-smooth problems.
  • At the user's request, scaling the problem to avoid convergence issues for space-related problems.

DE Solving

  • Integrators for ordinary differential equations (explicit Runge-Kutta methods with and without step-size selection, e.g. classic RK, Fehlberg, Dormand-Prince, Verner to name a few).
  • Rosenbrock methods for stiff differential equations.
  • Differential-algebraic system of equations.
  • Basic support for stochastic differential equations.