Skip to content

federicotomat/SATPlan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SATPlan

Implementation of SATPlan (Planning as Satisfiability), which is a method for automated planning. It convert the instance of the Planning problem to one of Boolean satisfiability, which is then solved using the Minisat.

Given the instance of a planning problem, with a given initial state and actions, a goal and a horizon length, a formula is generated which turns out to be satisfiable if and only if there was a plan with the given horizon length . A plan can be found by testing the satisfiability of the formulas for different horizon lengths. The simplest way to do this is to use the ENHSP to calculate the best starting horizon.

Usage

Clone the repository:

git clone https://github.com/federicotomat/SATPlan.git

Install the required libraries and the Minisat solver:

cd ~/SATPlan
pip install -r requirements.txt
sudo apt-get update
sudo apt-get install minisat

Enter in the workspace folder and install the ENHSP module:

cd code/enhsp
./install

Turn in the main folder, export python path and run the code on a PDDL problem:

cd ..
export PYTHONPATH="<(folder-path)>"
python2 plan.py -domain <(path-pddl-domain)> <(path-pddl-problem)>

References

F. Leofante, E. Giunchiglia, E. Ábráham, A. Tacchella - Optimal Planning Modulo Theories

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published