Skip to main content

The AI framework for Reinforcement Learning, Automated Planning and Scheduling

Project description

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

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:

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

scikit_decide-1.0.3-cp312-cp312-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.12Windows x86-64

scikit_decide-1.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

scikit_decide-1.0.3-cp312-cp312-macosx_12_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 12.0+ ARM64

scikit_decide-1.0.3-cp312-cp312-macosx_10_15_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

scikit_decide-1.0.3-cp311-cp311-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.11Windows x86-64

scikit_decide-1.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

scikit_decide-1.0.3-cp311-cp311-macosx_12_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 12.0+ ARM64

scikit_decide-1.0.3-cp311-cp311-macosx_10_15_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

scikit_decide-1.0.3-cp310-cp310-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.10Windows x86-64

scikit_decide-1.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

scikit_decide-1.0.3-cp310-cp310-macosx_12_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.10macOS 12.0+ ARM64

scikit_decide-1.0.3-cp310-cp310-macosx_10_15_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

scikit_decide-1.0.3-cp39-cp39-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.9Windows x86-64

scikit_decide-1.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

scikit_decide-1.0.3-cp39-cp39-macosx_12_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.9macOS 12.0+ ARM64

scikit_decide-1.0.3-cp39-cp39-macosx_10_15_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

File details

Details for the file scikit_decide-1.0.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c7b2a85cb4abad21cfed1b9bb0ed6403519c2d36c08bc9d74d58ec6c52f1465d
MD5 b4401cd87a05daf4baeb3e663991dd41
BLAKE2b-256 47cbfba02e4634b76e73d45e0d12ba1843407c9949fa86e2e2ba7cbf614b6831

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8c68865bd408dae925c205619e5a5a30b5052b74f63e74f41d9bc5eae442ce2f
MD5 dce177c1e68bf397a7011c0f1d080509
BLAKE2b-256 6e69ffbe8af30dcab503cc520702f92177658b29c365577a0632116612d3351c

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp312-cp312-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 a0f668e2a1b035edf403947979d3587e24a2d41c9e6310c106e01d87dfe6e6b8
MD5 a666359a50ca8f67705014c068084da9
BLAKE2b-256 9120ddf4726dd881f9f1ea27974847625ad549147ce26b6cb69ad6b7ff99d000

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2ac1a63aadb7edd11300cd15a93536e81dcf5516b5aa051365570056e8875a5e
MD5 ac940742c40dc7918631f36fe6500fe9
BLAKE2b-256 bf1ccb0c635e98de085c52a303c302f003729333d36f05de49fbc36d0965afb1

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 22536c51494a14488606bc44d568f232acc3db6bd1dc447414aa5b8caafd983f
MD5 6910d7f896a4988eb061038380c53227
BLAKE2b-256 d13735ba9f76d98ef13fd5f5241bbac74dbfd4537be0408ead71c02b427352ea

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6a94e50a27ffc3fc4734174fbca131163c7be1a50a3fd693866919c19a089c89
MD5 b8c792e7ef0b3516db98fe882ce798a0
BLAKE2b-256 eef33e7794cd1cbf60e75f1c5d4584313486b25ca2b4dcee6ee475cf4c7b9c89

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp311-cp311-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 15fd5f560893e2cf3deee7e5919035dba4dfefafe50853a816e3d63411ce8bd9
MD5 6223d2b696398b8730b3372e9b422981
BLAKE2b-256 282884da70e28577467bd95cc87e6a2253f306c56290c16501ffb1f714044f40

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8a3abe9f745a1da70c735909f51dbe44954653fcb498726478bee995707aa255
MD5 7d750eea666a71992bd2634d99cf1584
BLAKE2b-256 bf08d90952ef45f235fa602876b13ffaf639091ddfff7f42da761cf90444190b

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 814bddd6acead1196ff0cc3a9793bd5c61ff150f44670b539cc94fc78fc7a42d
MD5 3ee1a8de52ba6fedb4aace987e331a0a
BLAKE2b-256 bedf8a529741d56269005a50795cd008034e3962e400e97c3a7656c5333ce304

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7338a38f4919c685d8f952412f6c228342656953c409cb31e918604c6aeff602
MD5 6469de6a5060e3d6753f29a3ca81ba44
BLAKE2b-256 f3568c270f1a10dc837c1d03eff1be6eef207332750241772accf68ced25b3e0

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp310-cp310-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 3f5afe20b350a9b559842128c6b4ff772f9c1474ec943ced16dff97535b46a5f
MD5 d47862921cb90824ca2035a61191077f
BLAKE2b-256 69de525308a57ac7d0afa61ad20af54e4309f7214294f1dea06f404f806af318

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 cbe64636e5ece534b3e25d6ffac4a20bb7f61ea8f9b28a73bfd077d5a9be5835
MD5 13ac88efa7125ea272965f199e1ea69a
BLAKE2b-256 b0a1d56736ec0a53b50f6212497d193a9bf10612af968920c50c439235d6a2be

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 680726b37df972c40b8ad2809c4d4d100d8204d864b5976a446a0869b800736a
MD5 0d0ca0f4a0af960c5c762c306e54dc86
BLAKE2b-256 fc3e111b0bf653173df23a7bed09db4aec62554cfdfbf77fd8d5b64aa09094e0

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c2ee70bc33422e86427c38b95693c6a5b0257527a06402b5c9f9fff1cf8dca07
MD5 79661a0a82e2b96e960b23108e7a6c96
BLAKE2b-256 18a5388ee103fce326b2ae8f23948d8573868c837667d4264b56d856b8d883a1

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp39-cp39-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 a687be4d20184172c6f0b8ed3d3da77c74ae7c4a674314cda79a3500cb5f12e3
MD5 49db7b8ae54e2cc126458f4339c158af
BLAKE2b-256 33153bc8ebac4ea1b260743f0565e9295206e9b3d6598a688c97e39bdb015d53

See more details on using hashes here.

File details

Details for the file scikit_decide-1.0.3-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for scikit_decide-1.0.3-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ed33e19c8902bbc6066717dbb790a674fa86f94c038003973d0e2f96003f7600
MD5 7dc699142b1160eb88b493762624f55f
BLAKE2b-256 ee882ab4878ebeab11b2d85d5a882416cfeaf9969af7390208a4f52be4859912

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page