Skip to content

Join my journey to learn Numerical Optimization and Optimal Control

Notifications You must be signed in to change notification settings

clxyder/optimization-sandbox

Repository files navigation

Optimization Sandbox

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.

Optimal Control Review

  • 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
  • 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

Trajectory Optimization

Transcription Methods

  • Indirect Methods
    • "optimize then discretize"
    • more accurate
    • harder to pose and solve
  • Direct Methods
    • "discretize and optimize"
    • less accurate
    • easier to pose and solve

Trajectory Methods

  • 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

Fine Tunning

  • 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 and p-methods to improve results

Trajectory Optimization Methods

  • 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)

Resources

About

Join my journey to learn Numerical Optimization and Optimal Control

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published