Home

The Simplicial package implements a PL
continuation method, whose
objective is to follow the zero path
of an homotopy connecting two
problems. This is typically done by building a piecewise linear
approximation of the path over a triangulation of the research space in
simplices (hence the name "simplicial methods").

This code was designed more specifically for the resolution of optimal control problems via indirect methods (necessary conditions, Pontriagyn's Maximum Principle). Such methods transform the original problem into finding a zero of a certain shooting function, whereas direct methods involve complete (state-control) or partial (control only) discretization of the problem.

The main drawback of shooting methods is the sensitiveness with respect to the initial point, as shooting functions are typically highly non-linear. We start here from a related but easier problem, and use the continuation to find a suitable initialization for the original problem.

This code was designed more specifically for the resolution of optimal control problems via indirect methods (necessary conditions, Pontriagyn's Maximum Principle). Such methods transform the original problem into finding a zero of a certain shooting function, whereas direct methods involve complete (state-control) or partial (control only) discretization of the problem.

The main drawback of shooting methods is the sensitiveness with respect to the initial point, as shooting functions are typically highly non-linear. We start here from a related but easier problem, and use the continuation to find a suitable initialization for the original problem.

The package is written mostly in standard Fortran 9x, and includes some F77 third party codes.

It can be compiled on various platforms, using for instance the promising free compiler g95. Give it a try !

It has the following features:

- Several choices of triangulations (uniform or refining), with adaptive meshsize.

- Optional generation of various output files related to the zero path, with associated Matlab scripts for visualization.

The shooting method part of the code offers the following features:

- Several choices of integrators (fixed or variable step).

- In addition to Single shooting, several variants of Multiple shooting are available.

- Specific handling of discontinuous optimal control (switchings).

- Possible use of variational equations to compute the Jacobian of the shooting function (with smooth or discontinuous control).

Download the Simplicial package: version v1.3 Last Update: 10/07/2006

Full package (Source, scripts and problem files + User Guide)

Sample problems included in the package:

- Demo Problem (simple dim 2 optimal control problem)

- Low thrust orbital transfer with minimal fuel consumption (cf the mfmax code by Thomas "Walker" Haberkorn)

- Two singular arcs problems

Changelog:

- 1.3 (10/07/2006): variational equations for Jacobian evaluation.

- 1.2 (17/01/2006): discontinuous control specific handling.

- 1.1 (21/07/2005): some internal rewriting and cleaning, singular arcs problem files.

- 1.0 (25/03/2005): first version, with demonstration and orbital transfer problem files.

Link to the CIEL server (a source code database project).

The author gladly welcomes your feedback on the Simplicial package.

Please do not hesitate to send me your comments, questions or bug reports !

Contact: J. Gergaud, P. Martinon