I am on a journey to learn optimization, during college I took courses in Numerical Optimization and Optimal Control, needless to say I was fascinated by the subjects.
The plan is to learn enough material to use in a career for development of space vehicles.
I will focus on:
- Trajectory Optimization
- Model Predictive Control
- Monte Carlo Simulations
I plan to use Python and the CasADi library to faciliate my learning experience. This repository will contain example code from their examaple repo and any other ideas I come up with.
- Trajectory Optimization
- Control as a function of time
- Single initial state
- Types
- Direct Methods
- Solve a non-linear program
- Widely used in practice
- Indirect Methods
- Solve non-linear root finding problem
- Rarely used in practice
- Direct Methods
- Policy Optimization
- Control as a function of state
- Arbitrary initial state
- Types
- Heuristic Optimization
- Parameter optimization
- Arbitrary objective function
- Dynamic Programming
- Partial differential equation
- Dynamics and objective are function of state and control
- Heuristic Optimization
- Indirect Methods
- "optimize then discretize"
- more accurate
- harder to pose and solve
- Direct Methods
- "discretize and optimize"
- less accurate
- easier to pose and solve
- Shooting Methods
- Based on simulation
- Better for problems with simple control and no path constraints
- Collocation Methods
- Based on function approximation
- Better for problems with complicated control and/or path constraints
- h-methods
- Low-order method
- Converge by increasing number of segments
- Increaseing the number of control units increases accuracy
- p-methods
- High-order methods
- Converge by increasing method order
- Increasing method order provide better fitting, thus increasing accuracy
- Adaptive Methods
- Uses novel methods to switch between
h-methods
andp-methods
to improve results
- Uses novel methods to switch between
- Collocation Methods
- Trapezoidal direct collocation
- Hermite–Simpson direct collocation
- Global orthogonal collocation (Chebyshev Lobatto)
- Shooting Methods
- Direct Single shooting
- Direct multiple shooting (4th-order Runge–Kutta)