https://github.com/airbus/scikit-decide

AI framework for Reinforcement Learning, Automated Planning and Scheduling

https://github.com/airbus/scikit-decide

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    3 of 14 committers (21.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary

Keywords

artificial-intelligence decision-making planning-algorithms reinforcement-learning scheduling-algorithms

Keywords from Contributors

interactive projection sequences archival genomics observability autograding hacking shellcodes modular
Last synced: 5 months ago · JSON representation

Repository

AI framework for Reinforcement Learning, Automated Planning and Scheduling

Basic Info
Statistics
  • Stars: 167
  • Watchers: 7
  • Forks: 29
  • Open Issues: 10
  • Releases: 16
Topics
artificial-intelligence decision-making planning-algorithms reinforcement-learning scheduling-algorithms
Created about 6 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License

README.md

                _  __    _  __              __             _      __
   _____ _____ (_)/ /__ (_)/ /_        ____/ /___   _____ (_)____/ /___
  / ___// ___// // //_// // __/______ / __  // _ \ / ___// // __  // _ \
 (__  )/ /__ / // ,<  / // /_ /_____// /_/ //  __// /__ / // /_/ //  __/
/____/ \___//_//_/|_|/_/ \__/        \__,_/ \___/ \___//_/ \__,_/ \___/


actions status version stars forks


Scikit-decide for Python

Scikit-decide is an AI framework for Reinforcement Learning, Automated Planning and Scheduling.

This framework was initiated at Airbus AI Research and notably received contributions through the ANITI and TUPLES projects, and also from ANU.

Main features

  • Problem solving: describe your decision-making problem once and auto-match compatible solvers.\ For instance planning/scheduling problems can be solved by RL solvers using GNNs.
  • Growing catalog: enjoy a growing list of domains & solvers catalog, supported by the community.
  • Open & Extensible: scikit-decide is open source and is able to wrap existing state-of-the-art domains/solvers.
  • Domains available:
    • Gym(nasium) environments for reinforcement learning (RL)
    • PDDL (Planning Domain Definition Language) via unified-planning and plado libraries
    • encoding in gym(nasium) spaces compatible with RL
    • graph representations for RL (inspired by Lifted Learning Graph) :new:
    • RDDL (Relational Dynamic Influence Diagram Language) using pyrddl-gym library.
    • Flight planning, based on openap or in-house Poll-Schumann for performance model
    • Scheduling, based on rcpsp problem from discrete-optimization library
    • Toy domains like: maze, mastermind, rock-paper-scissors
  • Solvers available:
    • RL solvers from ray.rllib and stable-baselines3
    • existing algos with action masking
    • adaptation of RL algos for graph observation, based on GNNs from pytorch-geometric :new:
    • autoregressive models with action masking component by component for parametric actions :new:
    • Planning solvers from unified-planning library
    • RDDL solvers jax and gurobi-based based on pyRDDLGym-jax and pyRDDLGym-gurobi from pyrddl-gym project
    • Search solvers coded in scikit-decide library:
    • A*
    • AO*
    • Improved-LAO*
    • Learning Real-Time A*
    • Best First Width Search
    • Labeled RTDP
    • Multi-Agent RTDP
    • Iterated Width search (IW)
    • Rollout IW (RIW)
    • Partially-Observable Monte Carlo Planning (POMCP)
    • Monte Carlo Tree Search Methods (MCTS)
    • Multi-Agent Heuristic meta-solver (MAHD)
    • Evolution strategy: Cartesian Genetic Programming (CGP)
    • Scheduling solvers from discrete-optimization,
    • itself wrapping ortools, gurobi, toulbar, minizinc, deap (genetic algorithm), didppy (dynamic programming),
    • and coding local search (hill climber, simulated annealing), Large Neighborhood Search (LNS), and genetic programming based hyper-heuristic (GPHH)
  • Tuning solvers hyperparameters
    • hyperparameters definition
    • automated study with optuna

Installation

Quick version: shell pip install scikit-decide[all] For more details, see the online documentation.

Documentation

The latest documentation is available online.

Examples

Some educational notebooks are available in notebooks/ folder. Links to launch them online with binder are provided in the Notebooks section of the online documentation.

More examples can be found as Python scripts in the examples/ folder, showing how to import or define a domain, and how to run or solve it. Most of the examples rely on scikit-decide Hub, an extensible catalog of domains/solvers.

Contributing

See more about how to contribute in the online documentation.

Owner

  • Name: Airbus
  • Login: airbus
  • Kind: organization
  • Location: Toulouse

We design, manufacture and deliver industry-leading commercial aircraft, helicopters, military transports, satellites and launch vehicles

GitHub Events

Total
  • Create event: 11
  • Issues event: 4
  • Release event: 3
  • Watch event: 22
  • Delete event: 12
  • Issue comment event: 24
  • Push event: 76
  • Pull request event: 115
  • Pull request review event: 45
  • Fork event: 2
Last Year
  • Create event: 11
  • Issues event: 4
  • Release event: 3
  • Watch event: 22
  • Delete event: 12
  • Issue comment event: 24
  • Push event: 76
  • Pull request event: 115
  • Pull request review event: 45
  • Fork event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 430
  • Total Committers: 14
  • Avg Commits per committer: 30.714
  • Development Distribution Score (DDS): 0.57
Past Year
  • Commits: 103
  • Committers: 7
  • Avg Commits per committer: 14.714
  • Development Distribution Score (DDS): 0.214
Top Committers
Name Email Commits
Nolwen n****t@i****r 185
Guillaume Alleon g****n@g****m 78
tog g****g@g****m 55
Denis Barbier b****r@i****r 35
dependabot[bot] 4****] 26
Florent Teichteil-koenigsbuch f****h@a****m 18
Florent Teichteil-Koenigsbuch f****l@g****m 12
POVEDA_G g****a@g****m 6
Emilien Despres e****s@g****m 5
Nolwen –****t@i****r 5
poveda_g g****a@a****m 2
Jerome Robert j****t@g****m 1
My cool bot t****t 1
neo-alex n****x 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 46
  • Total pull requests: 322
  • Average time to close issues: 10 months
  • Average time to close pull requests: 20 days
  • Total issue authors: 15
  • Total pull request authors: 11
  • Average comments per issue: 1.57
  • Average comments per pull request: 0.39
  • Merged pull requests: 223
  • Bot issues: 0
  • Bot pull requests: 60
Past Year
  • Issues: 4
  • Pull requests: 71
  • Average time to close issues: 18 days
  • Average time to close pull requests: 12 days
  • Issue authors: 4
  • Pull request authors: 5
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.11
  • Merged pull requests: 40
  • Bot issues: 0
  • Bot pull requests: 11
Top Authors
Issue Authors
  • galleon (8)
  • nhuet (7)
  • fteicht (7)
  • neo-alex (5)
  • elcombato (4)
  • NansDarraillan (4)
  • g-poveda (3)
  • itabhiyanta (1)
  • BertrandDecoster (1)
  • aralcimcim (1)
  • nestorcarmona (1)
  • igibek (1)
  • Timmifixedit (1)
  • david1976 (1)
  • dbarbier (1)
Pull Request Authors
  • nhuet (192)
  • dependabot[bot] (60)
  • fteicht (34)
  • galleon (9)
  • nestorcarmona (6)
  • g-poveda (6)
  • HamdaHmida (5)
  • dbarbier (5)
  • neo-alex (2)
  • YoanwM (2)
  • NansDarraillan (1)
Top Labels
Issue Labels
enhancement (8) bug (6) documentation (3) python (2) good first issue (1) ci/cd (1) invalid (1) question (1) waiting response from user (1)
Pull Request Labels
dependencies (62) enhancement (37) javascript (33) bug (29) python (29) ci/cd (3) documentation (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 1,269 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 22
  • Total maintainers: 2
pypi.org: scikit-decide

The AI framework for Reinforcement Learning, Automated Planning and Scheduling

  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 1,269 Last month
Rankings
Stargazers count: 7.2%
Forks count: 8.4%
Downloads: 9.8%
Dependent packages count: 10.1%
Average: 11.4%
Dependent repos count: 21.5%
Maintainers (2)
Last synced: 6 months ago

Dependencies

package.json npm
  • @vuepress/plugin-back-to-top ^1.8.2 development
  • vuepress ^1.0.2 development
  • async-validator ^1.11.5
  • axios ^0.23.0
  • element-ui ^2.10.1
  • vuepress-plugin-mathjax ^1.2.8
  • vuex ^3.1.1
yarn.lock npm
  • 1095 dependencies
poetry.lock pypi
  • 131 dependencies
pyproject.toml pypi
  • commonmark >=0.9.1 develop
  • docopt >=0.6.2 develop
  • nbmake ^1.0 develop
  • poetry-dynamic-versioning ^0.13.0 develop
  • pytest ^6.2.2 develop
  • pytest-cov ^2.11.1 develop
  • simplejson ^3.17.2 develop
  • tqdm ^4.59.0 develop
  • discrete-optimization >=0.2.1
  • gym ^0.18.0
  • joblib ^1.0.1
  • matplotlib ^3.3.4
  • numpy ^1.20.1
  • pathos ^0.2.7
  • pynng >=0.6.2
  • python ^3.7
  • ray ^1.2.0
  • simplejson ^3.17.2
  • stable-baselines3 ^0.11.1
.github/workflows/build-doc.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
.github/workflows/ci.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/github-script v7 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • awalsh128/cache-apt-pkgs-action latest composite
  • hendrikmuhs/ccache-action v1.2 composite
  • jwlawson/actions-setup-cmake v2 composite
  • ncipollo/release-action v1 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/deploy-doc.yml actions
  • JamesIves/github-pages-deploy-action v4 composite
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
binder/environment.yml pypi
  • PyOpenGL *
  • PyOpenGL-accelerate *
  • cartopy *
  • cdsapi *
  • cfgrib *
  • gymnasium ==0.28.1
  • ipympl *
  • ipywidgets *
  • matplotlib *
  • nbgitpuller *
  • openap *
  • pygeodesy *
  • pyvirtualdisplay *
  • scikit-decide ==0.9.8
  • xarray *