Git Product home page Git Product logo

biggym's Introduction

Daily CI Build

BIGGYM

Representing activity-based modeling problems as reinforcement learning problems using the gymnasium api.

Individual Scheduling

  • biggym.envs.SchedulerEnv: Simple "scheduling" challenge for a single agent with minimal interaction with world.

    • agent has three possible states: at home, at work, traveling
    • agent has two possible actions: travel to work, travel to home
    • reward is based on MATSim utility score
  • biggym.envs.SchedulerModeEnv: Extends above to include an additional activity "shop" and travel mode choice between car, bus and walk.

    • agent has 6 possible states: at home, work, shop and traveling by car, bus or walking
    • agent has 9 possible actions, travel to home, work or shop, each by either car, bus or walk
    • reward is based on MATSim utility score

Outstanding issues

  • how to deal with noops
  • how to deal with multi-dim actions, eg participation and mode

Proposed extensions

  • allow additional activity choices (participation, location, time, mode, toll routing, charging, routing)
  • separate choice dimensions better (eg participation and mode as different actions spaces)
  • add stochastics to travel times
  • multi-day
  • create continuous choices (ie "go to work for N hours")
  • inverse RL
  • electric vehicle charging

Household Scheduling

Multi-Agent Scheduling

Installation

As a developer

To install we recommend using the mamba package manager.

git clone [email protected]:arup-group/biggym.git
cd biggym
mamba create -n biggym --file requirements/base.txt --file requirements/dev.txt
mamba activate biggym
pip install --no-deps -e .

Jupyter Notebooks

To run the example notebooks you will need to add a ipython kernel into the mamba environemnt: ipython kernel install --user --name=biggym.

biggym's People

Contributors

fredshone avatar jamesr-j avatar

Watchers

 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.