What is Phoenix-OC?
Phoenix-OC is a general-purpose Optimal Control (OC) framework for large-scale problems and large problem sets.
NOTE: To get started, check out the installation instructions at GitHub Phoenix-OC for a containerized setup.
The user interface of Phoenix-OC allows you to intuitively model, run, and inspect solutions.

Among many others, Phoenix-OC includes the following features:
- State Discretization: Collocation methods (Hermite-Simpson, RadauIIA, Trapezoidal, Backward Euler, Forward Euler).
- Control Parameterization: B-Splines (arbitrary smoothness, control derivatives of arbitrary order).
- Cost Function: Including, but not limited to, end-point (Mayer) cost and integral (Lagrange) cost functions.
- Constraint Functions: Including, but not limited to, end-point constraint, path constraint, and integral constraint functions.
- Automatic Differentiation: First- and second-order derivatives.
- Parametric Problems: Including post-optimal sensitivity analysis.
- Bilevel Optimal Control: Optimal control problems can depend on other optimal control problems.
- Multi-Phase Problems: Essentially arbitrary linkage conditions between phases.
- Parallelization: Parallel batch processing of parametrized optimal control problems.
- Modeling and Post-Processing: Integrated capabilities for problem definition, modeling, visualization, and export.
Once the Phoenix-OC extension is installed, it is straightforward to run your first example and get started:
