Multi-Phase Optimal Control Problem
Introduction
Most real-world optimal control problems are defined over a single time interval. However, pockit solves a more general problem: the multi-phase optimal control problem.
A multi-phase optimal control problem consists of two levels of objects: a system and one or more phases. Each phase is defined over an independent time interval with independent variables and dynamics. The system object combines the phases to form a complete problem. There are two main reasons for adopting a multi-phase problem:
- Some problems inherently have multiple phases. For example, a chemical reaction may have multiple phases, each described by different variables and relationships. Another example is optimizing a satellite orbit using planetary gravity assists. In this case, two phases are controlled by the same variables and relationships, but the boundary conditions changes abruptly at the gravity assist point.
- Numerical reasons. Consider the example of a chemical reaction again. During the reaction, the concentration of reactants may change by orders of magnitude in a short time. In such cases, it may be more advantageous to divide the problem into multiple phases.
We define system and phase objects by listing the data they contain and the relationships defined on the data.
Elements of a Multi-Phase Optimal Control Problem
System
The system contains:
- One or more phases: \(\mathbb{P} = \left\lbrace ^0P, ^1P, \dots, ^{n_p - 1}P \right\rbrace\).
- System parameters: \(\mathbb{S} = \left\lbrace s_0, s_1, \dots, s_{n_s - 1} \right\rbrace\), each system parameter is a simple optimization variable accessible and shared by all phases. An important use of system parameters is to connect phases by specifying the time intervals and boundary conditions of the phases as functions of the system parameters. Since system parameters are shared, adjacent phases satisfy the required relationships at the connection points.
Phase
- Time interval: \(\left[t_0, t_f\right]\), where \(t_0, t_f\) can be free variables, fixed constants, or functions of system parameters.
- State variables: \(\boldsymbol{x} = \left\lbrace x_0, x_1, \dots, x_{n_x - 1} \right\rbrace\), state variables are functions over the time interval that satisfy the dynamic differential equations and boundary conditions.
- Control variables: \(\boldsymbol{u} = \left\lbrace u_0, u_1, \dots, u_{n_u - 1} \right\rbrace\), control variables are functions over the time interval but cannot have derivatives and boundary conditions specified. If boundary conditions need to be specified for control variables, they can be set as state variables, and their derivatives can be set as control variables.
Functional Relationships Defined on Phases
- Dynamic equations: Differential equations describing the change of state variables over time
$$ \dot {\boldsymbol{x}}(t) = \boldsymbol{D}\left(\boldsymbol{x}(t), \boldsymbol{u}(t), t, \mathbb S\right) $$
- Integrals: Used to define objective functions and system constraints at the system level
$$ \mathbb I=∫_{t_0}^{t_f}\boldsymbol{I}\left(\boldsymbol{x}(t), \boldsymbol{u}(t), t, \mathbb S\right)\mathrm dt $$
- Phase constraints (path constraints): Constraints that must be satisfied at any point over the entire time interval of the phase
$$ \underline {\boldsymbol{c}}≤\boldsymbol{C}\left(\boldsymbol{x}(t), \boldsymbol{u}(t), t, \mathbb S\right)≤\overline {\boldsymbol{c}},\quad\forall\, t\in[t_0, t_f] $$
- Boundary conditions: Initial and final values of state variables and time intervals. Each variable can be set as a free variable, fixed constant, or function of system variables.
Functional Relationships Defined on the System
- Objective function: The quantity to be minimized in the entire optimal control problem. The objective function is a function of the integrals defined in each phase and the system parameters.
$$ F(^0{\mathbb I},^1{\mathbb I},…,^{n_p−1}{\mathbb I},\mathbb S) $$
- System constraints (algebraic constraints): Algebraic constraints satisfied by the system variables and the integrals of each phase
$$ \underline{\boldsymbol l}\leq {\boldsymbol L}(^0{\mathbb I},^1{\mathbb I},…,^{n_p−1}{\mathbb I},\mathbb S)\leq \overline{\boldsymbol l} $$
Summary
This section defines the multi-phase optimal control problem in detail. Most real-world optimal control problems can be described using this multi-phase optimal control framework and can be numerically solved using pockit.