Reinforcement learning suite of process control problems.
Project description
Reinforcement learning environments for process control
Quick start ⚡
Setup a CSTR environment with a setpoint change
import pcgym
# Simulation variables
nsteps = 100
T = 25
# Setpoint
SP = {'Ca': [0.85 for i in range(int(nsteps/2))] + [0.9 for i in range(int(nsteps/2))]}
# Action and observation Space
action_space = {'low': np.array([295]), 'high': np.array([302])}
observation_space = {'low': np.array([0.7,300,0.8]),'high': np.array([1,350,0.9])}
# Construct the environment parameter dictionary
env_params = {
'N': nsteps, # Number of time steps
'tsim':T, # Simulation Time
'SP' :SP,
'o_space' : observation_space,
'a_space' : action_space,
'x0': np.array([0.8, 330, 0.8]), # Initial conditions [Ca, T, Ca_SP]
'model': 'cstr_ode', # Select the model
}
# Create environment
env = pcgym.make_env(env_params)
# Reset the environment
obs, state = env.reset()
# Sample a random action
action = env.action_space.sample()
# Perform a step in the environment
obs, rew, done, term, info = env.step(action)
Documentation
You can read the full documentation here!
Installation ⏳
The latest pc-gym version can be installed from PyPI:
pip install pcgym
Examples
TODO: Link example notebooks here
Implemented Process Control Environments 🎛️
Environment | Reference | Source | Documentation |
---|---|---|---|
CSTR | Hedengren, 2022 | Source | |
First Order Sytem | N/A | Source | |
Multistage Extraction Column | Ingham et al, 2007 (pg 471) | Source | |
Nonsmooth Control | Lim,1969 | Source |
Citing pc-gym
If you use pc-gym
in your research, please cite using the following
@software{pcgym2024,
author = {Max Bloor and and Jose Neto and Ilya Sandoval and Max Mowbray and Akhil Ahmed and Mehmet Mercangoz and Calvin Tsay and Antonio Del Rio-Chanona},
title = {{pc-gym}: Reinforcement Learning Envionments for Process Control},
url = {https://github.com/MaximilianB2/pc-gym},
version = {0.0.4},
year = {2024},
}
Other Great Gyms 🔍
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pcgym-0.1.5.tar.gz
(20.5 kB
view details)
Built Distribution
pcgym-0.1.5-py3-none-any.whl
(20.8 kB
view details)
File details
Details for the file pcgym-0.1.5.tar.gz
.
File metadata
- Download URL: pcgym-0.1.5.tar.gz
- Upload date:
- Size: 20.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 191f3b3d379b7d09a0f8828da366512e6a4910a4fb17f445bd3996780294b301 |
|
MD5 | e832ff5e66dd8f84bf4453a73fdecf2e |
|
BLAKE2b-256 | 76630c826884602b48ddf4336bcb39ee7d01cde48c86cdb0afc5139180e55e75 |
File details
Details for the file pcgym-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: pcgym-0.1.5-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b25a4e22baff9c6c8cb96e3033c037b424077563c30ad506c0419317d81c6e05 |
|
MD5 | b691bdc375dc1e678f69552863a82a6d |
|
BLAKE2b-256 | a7102760bdc6fda5f6d913dd34d7d7d1e6cd94146366f01a182b1bb0c6939554 |