Git Product home page Git Product logo

omtnplan's Introduction

OMTPlan: Optimal Planning Modulo Theories

OMTPlan provides a Python framework for cost-optimal planning in numeric domains.

Obtaining OMTPlan

Clone the OMTPlan repository in your favourite folder.

git clone https://github.com/fraleo/OMTPlan.git

Dependencies

To run OMTPlan, make sure you have the following on your machine

  • Python 2.7
  • Z3 (4.8.6) and its Python API. Make sure you add z3 Python bindings to your Python search path.
  • NetworkX (as simple as pip install networkx)
  • the VAL plan validation software. Here you can find some instructions to help you set it up. Once built, add the validate binary to the /bin folder.

Already provided within this repo are the following external modules

Using OMTPlan

Getting help

To see the list of input arguments, type

./omtplan -h
Running OMTPlan

To run OMTPlan on a problem, type, e.g.,

./omtplan -omt -parallel -domain domain.pddl problem.pddl

or

./omtplan -omt -parallel problem.pddl

if PDDL files describing domain and problem are in the same folder.

Translating to SMT-LIB

To produce an SMT-LIB encoding of the bounded planning problem, type, e.g.,

./omtplan.py -smt -parallel -translate bound problem.pddl 
Some PDDL examples

You can find some planning problems written in PDDL in pddl_examples.

Documentation

Further documentation is available here.

Author

Francesco Leofante

Do not hesitate to contact me if you have problems using OMTPlan, or if you find bugs :)

Citing OMTPlan

If you decide to use OMTPlan for your experiments, please cite

@inproceedings{LeofanteGAT20,
  author    = {Francesco Leofante and
	       Enrico Giunchiglia and
	       Erika {\'{A}}brah{\'{a}}m and
	       Armando Tacchella},
  editor    = {Christian Bessiere},
  title     = {Optimal Planning Modulo Theories},
  booktitle = {Proceedings of the Twenty-Ninth International Joint Conference on
	       Artificial Intelligence, {IJCAI} 2020 },
  pages     = {4128--4134},
  publisher = {ijcai.org},
  year      = {2020},
  url       = {https://doi.org/10.24963/ijcai.2020/571}
}

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.