An RMC library for renewable stochastic control problems [arXiv]
Building on the well-understood mathematical theory of stochstic optimal control, we solve renewable energy control problems using RMC that involves:
- Dynamic Programming
- Policy and Value emulators
- Demonstrate state-of-the-art performance.
The method is straight forward to implement and evaluate using existing tools, in particular GP and the GPy
library.
We strongly recommend using the anaconda python distribution. With anaconda you can install RMCpy by the following:
sudo apt-get update
sudo apt-get install python3-dev
sudo apt-get install build-essential
conda update anaconda
And finally,
pip install RMCgp
We encourage looking at nb.ipynb, which demonstrates how to use the library to train an optimal control model for hybrid renewabl-battery asset.
A self contained short example:
import RMC
import numpy as np
import GPy
### Defining Model
X0 =np.random.normal(5,np.sqrt(0.5),10000)
process = RMC.simulate.OU(X0,96,10000,24,[1],[5],[1])
running_cost = RMC.costfunctions.L2()
final_cost = RMC.costfunctions.final_SOCcontraint(0,0)
parameters = (2,8,0.95,0.05)
batch_size = 30
value_kernel= GPy.kern.Matern52
normalize_v = True
policy_kernel = GPy.kern.Matern32
normalize_policy = True
hybrid_solution = RMC.model.HybridControl(600,process,running_cost,final_cost,parameters,batch_size,\
value_kernel,normalize_v,policy_kernel,normalize_policy)
## Run RMC solve
hybrid_solution.solve()