Coder Social home page Coder Social logo

rbm_lq's Introduction

The Random Batch Method in Linear Quadratic Optimal Control

A Matlab implementation of the Random Batch Method (RBM) in Linear Quadratic (LQ) optimal control problems, which can significantly reduce the computational cost to solve optimal control problems. The examples are the same as the ones as in this paper. More information can also be found in this post and in this post.

Main features

  • A gradient-based solver for optimal control problems constrained by Random Batch Dynamics.
  • Plotting of the obtained optimal controls and state trajectories.

Considered examples

  • Example 1: A heat equation on a 1-D spatial domain for which the proposed method does not reduce the computational cost.
  • Example 2: A heat equation on a 3-D spatial domain for which the proposed method reduces the computational cost significantly.
  • Example 3: A fractional heat equation for which the proposed method also reduces the computational cost significantly.

The code can be executed by running the files example1_heat1D, example2_heat3D, and example3_fractional3D. Figures 1, 2, and 3 show the typical results. Note that the specific plots depend on the randomly selected vector of indices \boldsymbol \omegaω, and that the specific solutions will be different every time than the files are executed.

example1_heat1D_control.jpg

Figure 1: RBM controls obtained by running example1_heat1D.

example2_heat3D_control.jpg

Figure 2: RBM controls obtained by running example2_heat3D.

example3_fractional1D_control1.jpg example3_fractional1D_control1.jpg

Figure 3: RBM controls obtained by running example3_fractional3D.

rbm_lq's People

Contributors

danielveldman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.