Optimization

Numerical Methods for Optimal Control

Download MATLAB Code

This MATLAB code provides two numerical methods for solving optimal control problems: the standard gradient descent and our preconditioned constrained gradient descent (PCGD). We plan to expand this toolkit with additional methods in the future. The `Applications` folder contains several examples demonstrating how these methods can be applied. To add a new example, simply create a new folder within `Applications` and populate it with MATLAB files specific to your case, using the existing examples as a guide. Note that our PCGD algorithm requires solving a two-point boundary value problem. We provide two different methods to do that: using the Riccati equation and using a collocation method.

The examples provided include:

  • General Linear Time Invariant Systems
  • General Bilinear Time Invariant Systems
  • Linear Distributed Systems
  • Chemical Reactor
  • Nonlinear Oscillator Example
  • Moving Heat Source on a Rod (Heat Equation)
Numerical Methods for Optimal Parameter Tuning for Feedback Controllers

Download MATLAB Code

This MATLAB code implements a (conjugate) gradient descent method for optimally tuning nonlinear feedback controllers. It utilizes an adjoint approach to calculate the gradient efficiently. Additional methods will be incorporated in future updates. Currently, examples are included that demonstrate how to tune biomolecular feedback controllers to achieve specific response profiles.