Skip to main content

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

Citing pc-gym

If you use pc-gym in your research, please cite using the following

@software{pcgym2024,
  author = {Max Bloor and ...},
  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


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.0.8.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

pcgym-0.0.8-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file pcgym-0.0.8.tar.gz.

File metadata

  • Download URL: pcgym-0.0.8.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for pcgym-0.0.8.tar.gz
Algorithm Hash digest
SHA256 6d0d8c706464d2d594d1c6de335e55957c80565d5095abba2f8ca4d347a9a7d6
MD5 15d36c78622c9e773e1eff0cccbbfe8c
BLAKE2b-256 6e4ffce9bf9b15c678a00874e7a8ff4dd5a3c9fcbd23992b362f889d3683c223

See more details on using hashes here.

File details

Details for the file pcgym-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: pcgym-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for pcgym-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e47ba247c463419f3092d7c7cbb294a7ecbc97d97256cfc78529de8832b32a9d
MD5 78142e5459b0acdfd88390bc07a9aa1b
BLAKE2b-256 038cab230f02a3ab2bf7e031fac8f8c94d73ac3d134ef15373d4d1df2426558b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page