roveri-marco / unified-planning

The AIPlan4EU Unified Planning Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The AIPlan4EU Unified Planning Library

Actions Status Coverage Status Documentation Status

The unified_planning library makes it easy to formulate planning problems and to invoke automated planners.

  • Define problems in a simple, intuitive, and planner independent way
  • Solve your planning problems using one of the native solvers, or by using any PDDL planner
  • Dump your problems in PDDL (or ANML) format
  • Parse PDDL problem formulations
  • Simplification, grounding, removal of conditional effects and many other transformations are available
  • and more...

Usage

from unified_planning.shortcuts import *

x = Fluent('x')

a = InstantaneousAction('a')
a.add_precondition(Not(x))
a.add_effect(x, True)

problem = Problem('basic')
problem.add_fluent(x)
problem.add_action(a)
problem.set_initial_value(x, False)
problem.add_goal(x)

with OneshotPlanner(problem_kind=problem.kind) as planner:
    plan = planner.solve(problem)
    print(plan)

Notebooks

More complex live demos are available as notebooks here.

Acknowledgments

This library is being developed for the AIPlan4EU H2020 project (https://aiplan4eu-project.eu) that is funded by the European Commission under grant agreement number 101016442.

About

The AIPlan4EU Unified Planning Library

License:Apache License 2.0


Languages

Language:Python 94.8%Language:Jupyter Notebook 5.0%Language:Shell 0.2%