Skip to main content

DeePC-HUNT

Data enabled predictive control hyperparameter tuning via differentiable optimization layers

DeePC-HUNT is a method for optimising over the hyperparameters of DeePC, using anlaytical policy gradients. This method has been developed as part of my bachelor thesis, carried out at the automatic control lab. Supervised by Alberto Padoan, Keith Moffat and Florian Dorfler.

Developed in a conda environment on Ubuntu 22.04 with python 3.10.

Differentiable DeePC layer is inspired by Differentiable MPC and built using CvxpyLayers.

Installation

install via pip

pip install deepc_hunt

Or clone the repo and install via

cd DeePC-HUNT && pip install -e .

All extra packages necessary for running the example notebookds are in examples/requirements.txt. If needed,

pip install -r examples/requirements.txt

DeePC-HUNT has the following dependancies.

Usage

Data-​enabled Predictive Control (DeePC) is a data-​driven non-​parametric algorithm for combined identification (learning) and control of dynamical systems. It leverages on the solution of the following optimization problem in a receding horizon fashion

Problem Formulation

DeePC can achieve performance that rivals MPC on non-linear and stochastic systems (see here), but is highly sensitive to the choice of regularization parameters $\theta_i$. DeePC-HUNT addresses this problem by automatically tuning these parameters. The performance of DeePC-HUNT has been validated on a noisy cartpole and LTI system. These examples can be viewed in the notebooks in the examples directory.

Cartpole - before training

https://github.com/michael-cummins/DeePC-HUNT/assets/72135336/1c73ca21-91c1-4669-a04d-1d9a103d9d48

Cartpole - after training (episode 70)

https://github.com/michael-cummins/DeePC-HUNT/assets/72135336/b6fa9948-a768-4646-b87f-018395fcc6c4

Metadata

Release files for deepc-hunt 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deepc-hunt 0.0.6
File Size Uploaded
deepc_hunt-0.0.6.tar.gz 9.2 kB Details

Release files / deepc_hunt-0.0.6.tar.gz

Download URL deepc_hunt-0.0.6.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3689cd3aee5253ce59655205c9d84683c50da1bf3b871043eff512e499659128
BLAKE2b-256 checksum
How to use checksums
8c5308558d9d4602ef58c708118a2611b954d99eb32c2473666afc970a80f024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

0.0.6 This release

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page