PSOPT offers direct multiple shooting alongside its collocation and integrated residual transcriptions. Each phase is divided into segments. The state at every segment boundary is a decision variable, the dynamics are integrated across each segment by a fixed-step Runge-Kutta scheme, and continuity is imposed as a constraint. Every iterate therefore holds trajectory pieces that individually satisfy the differential equations, which matters when a model is only meaningful along its own solutions. The constraint Jacobian is block bidiagonal, and PSOPT detects that from its derivative tape. Conditioning is governed by the growth of the dynamics across one segment and not across the whole horizon.
A shooting transcription has two independent sources of error, and on any given problem only one of them binds. The integrator's error is bought off at linear cost in computing time and at no cost in problem size; the control parameterisation's error costs decision variables.
For the integrator: a classical fourth-order scheme by default, an eleven-stage eighth-order formula where accuracy per right-hand-side evaluation matters, and two L-stable ESDIRK schemes for stiff dynamics. For the control: constant, linear or quadratic across a segment. The current implementation can solve optimal control problems involving semi-explicit index-1 differential-algebraic systems.