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

# 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

TODO: Add table of environments

Other Great Gyms 🔍

TODO: Link other gyms such as Jumanji, safety gymnasium etc.

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},
}

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

Uploaded Source

Built Distribution

pcgym-0.0.7-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pcgym-0.0.7.tar.gz
Algorithm Hash digest
SHA256 2631703562ad661053fa254a5fe785df03c2a6b3a09073584e56a9952ffabbad
MD5 1ebf67c315f98d623d7e53d414f6b131
BLAKE2b-256 9dddd94acb88b75b90caeb0b78b8fcfbe7f470a9b9f1e0bcbff29b1c4ec26e57

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pcgym-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e3f87636ed0b3649bffd36266044276d2e7f276b02c0f9652df5a281851bb36f
MD5 80c1e0a2e84ebc1a938b517f88fa3886
BLAKE2b-256 76712f200c14ab4e68ce710f3cf43ee47b0cd9ed89fe3d37ad317c4a5efaf0bd

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