LAPKT aims to make your life easier if your purpose is to create, use or extend basic to advanced Automated Planners. It's an open-source Toolkit written in C++ and Python with simple interfaces that give you complete flexibility by decoupling parsers from problem representations and algorithms. It has been succesfully used in embedded systems, webservices, compilations, replanning and contains some of the high-performance planners from the last International Planning Competition 2014.
Integration of Approximate Novelty Search and Width-Based Backward Search in which we iteratively run the forward backward polynomial BFWS(f5) with novelty based pruning, sequentially increasing the number of novelty categories W at each iteration.
Singh, Anubhav, Nir Lipovetzky, Miquel Ramirez, and Javier Segovia-Aguas.
"Approximate novelty search." ICAPS, vol. 31, pp. 349-357. 2021.
Lei, Chao, and Nir Lipovetzky.
"Width-based backward search." ICAPS, vol. 31, pp. 219-224. 2021.
apptainer build NoveltyBD.sif Apptainer.NoveltyBD
Satisficing Apptainer configuration
apptainer build NoveltyBDAnytime.sif Apptainer.NoveltyBDAnytime
- Anubhav Singh anubhav.singh.er@protonmail.com
- Chao Lie clei1@student.unimelb.edu.au
- Miquel Ramirez miquel.ramirez@gmail.com
- Nir Lipovetzky nirlipo@gmail.com
- Javier Segovia-Aguas javier.segovia@upf.edu
- Overview of toolkit components
- Getting started with Pypi
- Building LAPKT
LAPKT separates search engines from the data structures used to represent planning tasks. This second component receives the name of 'interface' since it is indeed the interface that provides the search model to be solved.
Search engine components are meant to be modular, allowing users of LAPKT to assemble and combine features of different search engines to come up with customized search strategies, within reason and without sacrificing (much) efficiency. In order to do so, LAPKT makes heavy use of C++ templates and the Static Strategy design pattern. At the time of writing this, the modularity and decoupling of components isn't as high as I would like, there's still a lot of work to do :)
LAPKT is bound to change rapidly and dramatically over the next months, so please keep this in mind when using this library.
-
Install package
python3 -m pip install lapkt
-
Checkout lapkt options
lapkt_cmd.py -h
The python script can be found here
Platform agnostic
- The directory where the
pip
command installs the scripts, includinglapkt_cmd.py
, is generally on the systemPATH
, if not, it needs to be added manually. - Python version [
3.7
,3.7
,3.8
,3.9
,3.10
] are supported
@Windows
clingo/gringo
python package requiresMSVCP140.dll
which comes with visual studio redistributable. latest vc-redist- To be able to run
lapkt_run.py
script directly from command line, change the default handler for ".py" files to `Python'.
cmake
is the primary tool used to build the LAPKT's C++(backend) source code. We also use it to generate Python/C++ library package which is ready to go as a pypi
package.