Documentation


Scheme under which control problems are developed.

Dycon Toolbox is an environment under the paradigm of object-oriented programming. We create objects to define control problems. We can see an example of this in a general optimal control problem:

subject to:

In object-oriented programming, this problem can be described through the following scheme:

graph TB OC["OptimalControl
Object"] OC --> ode OC --> psi["Symbolic
expression of Psi"] OC --> L["Symbolic
expression of L"] ode["ode
Object"] ode --> odep1["Dynamic
Equation"] ode --> odep2["Initial
Condition"]
In this way, we can create algorithms to solve different problems following the same underneath structure, and the solutions of those problems are independent on the solver employed.
graph TB OC["OptimalControl
Object"] CG["Algorithm"] sol["solution"] plus["+"] CG --> plus OC --> plus plus --> sol
Therefore, we can easily create functions able to compare the accuracy of distinct methods and algorithms.

Classes

Below we can see the classes defined within DyCon Toolbox.
Name Description
OptimalControl This class is able to solve optimization problems of a function restricted to an ordinary equation. This scheme is used to solve optimal control problems in which the functional derivative is calculated. OptimalControl class has methods that help us find optimal control as well as obtaining the attached problem and it's derivative form, in both Symbolic and numerical versions.
ode The ode class is an object that will contain all the information to solve a differential equation. This can be the equation of the dynamics, initial condition, or the solution method itself. This class is necessary in order to generalize the optimal control methods used in other packages.