pycollo.optimal_control_problem#
The main way to define and interact with a Pycollo optimal control problem.
This module contains the main class that the user will interact with to define
and run their optimal control problem when working with Pycollo. Terminolgy is
loosely defined in accordance with “Betts, JT (2010). Practical Methods for
Optimal Control and Estimiation Using Nonlinear Programming (Second Edition)”.
See the Notes
section for a full list of symbols used.
Notes:#
t: independent parameter (time).
x = [y, u, q, t0, tf, s]: vector of problem variables.
y: vector state variables (which are functions of time).
u: vector control variables (which are functions of time).
q: vector of integral constraints.
t0: the initial time of the (single) phase.
tf: the final time of the (single) phase.
s: vector of static parameter variables (which are phase-independent).
J: objective function.
g: gradient of the objective function w.r.t. x.
L: Lagrangian of the objective function and constraints.
H: Hessian of the Lagrangian.
c = [zeta, gamma, rho, beta]: vector of constraints.
zeta: vector of defect constraints.
gamma: vector of path constraints.
rho: vector of integral constraints.
beta: vector of endpoint constraints.
G: Jacobian of the constaints.
n = len(x): number of free variables
m = len(c): number of constraints
Functions
Classes
The main class for Pycollo optimal control problems |