Code Monkey home page Code Monkey logo

paultalbot-inl / orca Goto Github PK

View Code? Open in Web Editor NEW

This project forked from idaholab/orca

0.0 0.0 0.0 2.71 MB

ORCA is a modeling toolset to accelerate real-time control and optimization of digital twins, including virtual models of facilities, physical facilities, and interconnections to allow optimal control of physical facilities using virtual models. ORCA is enabled by INL's RAVEN and DeepLynx software codes.

License: MIT License

Python 6.80% Jupyter Notebook 93.20%

orca's Introduction

ORCA

Optimization of Real-time Capacity Allocation

This Python package performs dispatch optimization for real-time economic optimization.

Installation

Clone the repository, navigate to the directory containing setup.py and execute:

pip install -e .

Use

ORCA can be used via individual components or with the CollectedNextDispatch object.

The Optimization and RewardForecast objects are intended to have a simple, cohesive interface that allows plug and play use. Each Optimization object is required to have a return_next_dispatch method that performs the optimization and returns the next time step's optimal dispatch. Each RewardForecast object is required to have a gen_reward method that returns n samples of the reward/price data required in the time horizon for optimization. New optimization or reward forecast algorithms may be implemented and when placed in the appropriate directory, the CollectedNextDispatch object can find and use them or they may be used independently for optimization workflows.

The CollectedNextDispatch object instantiates the required Optimization and RewardForecast objects specified in a YAML file. Note that only one Optimization object is required, but many RewardForecast objects may be specified to represent reward/price information of multiple components. An example of a YAML specification file is given in notebooks/CollectedNextDispatchExample.yaml.

Examples

Examples of how to use the various objects within ORCA are given in the notebooks directory.

Unit Tests

Each Optimization and RewardForecast object should have associated unit tests. These can be found in the tests directory. They are written using the unittest framework and can be run using a command like python -m unittest discover -v from the directory adjacent to tests.

Code Formatting

ORCA uses black for code formatting.

orca's People

Contributors

inl-labtrack avatar paultalbot-inl 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.