Giter Club home page Giter Club logo

rl-energy's Introduction

RL-Energy

Machine learning for process system design

Table of Contents

  • Introduction
  • Installation
  • Collaborators
  • Funding

Introduction

A reinforcement learning (RL) based automated system for chemical engineering systems conceptual design is introduced and demonstrated in this project. An artificial intelligence (AI) agent performs the conceptual design by automatically deciding which process-units are necessary for the desired system, picking the process-units from the candidate process-units pool (CPP), connecting them together, and optimizing the operation of the system for the user-defined system performance targets. The AI agent automatically selects units from the user-defined CPPs, connects them to construct flowsheets, and optimizes the system design according to the user’s desired objective. The AI agent automatically interacts with a physics-based system-level modeling and simulation toolset, the Institute for the Design of Advanced Energy System (IDAES) Integrated Platform, to guarantee the system design is physically consistent.

Three examples, hydrodealkylation of toluene (HDA), methanol synthesis systems and reduced order model (ROM) of solid oxide fuel cell multi-physics (SOFC-MP) model are provided to get started with the RL model. See Installation section and readme file in each example folder for more details.

Installation

The following libraries are needed.

  • Python

    For Windows system, download the installer package from https://www.python.org/downloads/windows/ versions 3.7-3.9 are recommended. For MAC OS user, it can be download from https://www.python.org/downloads/macos/ Note that to run the examples of Jupyter Notebook, anaconda may be needed (https://docs.anaconda.com/anaconda/install/index.html) The user can find the anaconda package for various operation systems on https://www.anaconda.com/products/distribution#Downloads

  • Tensorflow

    The RL code use TensorFlow as the backend. The user can download TensorFlow on the website (https://www.tensorflow.org/install). The RL code is based on TensorFlow 1.0, but TensorFlow 2.0 is compatible. TensorFlow can be installed by pip or docker.

    Python: pip install tensorflow

    Docker: docker pull tensorflow/tensorflow:latest docker run -it -p 8888:8888 tensorflow/tensorflow:latest-jupyter

    The GPU version is recommended if the user has Nvidia GPU support. Note that the cudatoolkit and cudnn libraries are needed when installing TensorFlow GPU version.

  • IDAES (Institute for the Design of Advanced Energy Systems) library

    The IDAES library was integrated into the platform that supports the full process modeling from flowsheet design to dynamic optimization and control within a single modeling environment.

    Python:

    1. Install IDAES.
    pip install idaes-pse
    
    1. Run the idaes get-extensions command to install the compiled binaries. These binaries include solvers and function libraries.
    idaes get-extensions
    

    Anaconda:

    1. Install IDAES.
    conda install --yes -c IDAES-PSE -c conda-forge idaes-pse
    
    1. Run the idaes get-extensions command to install the compiled binaries. These binaries include solvers and function libraries.
    idaes get-extensions
    

    More details can be found on https://github.com/IDAES/idaes-pse and https://idaes-pse.readthedocs.io/en/stable/tutorials/getting_started/index.html.

  • Tensorflow_addons library

    Python: pip install tensorflow-addons

    Or download the library (https://www.tensorflow.org/addons/overview)

  • Stellargraph graph library

    For graphic neural network, the stellargraph graph library is needed.

    Python: pip install stellargraph

    Anaconda: conda install -c stellargraph stellargraph

    Or download the library (https://www.stellargraph.io/)

Collaborators

Collaborators: PNNL, NETL, and UW

PNNL-logo NETL-logo UW-logo

Funding

Funding: ARPA-E Differentiate

ARPAE-logo differentiate-logo


rl-energy's People

Contributors

dewei-wang-xx avatar ericaegg avatar gao31572 avatar jiebao509 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.